Skip to content

Peer review #2 (Cade) #4

Description

@caquigley

Checklist

  • Adheres to PEP-8 formatting (or consistent and explained when deviating): It appears to follow pep-8 formatting and is very consistent through the script.
  • Commit history that reflects small and frequent commits since project assignment: Yes, the commit history suggests frequent and small commits.
  • Clear installation instructions, installation tested if available: Yes! I did run into one issue with the installation instructions, the environment.yml command creates a environment called 'ff_game', not 'ff_game_env'. This is an easy tweak.
  • Current version number (note the current version number): Version: 1.0.0
  • Example problem with required data either provided or with a data fetching script: An example is provided to start the game, and it's up to the user from there! I have yet to win the game :(
  • Appropriate use of functions, tasks are broken into logical chunks: It is broken up into logical chunks. The use of classes has made it very concise and readable.
  • Readability, organization, accessibility: Code is very well organized and readable. I appreciate the short and direct comments that are not overly wordy but provide all of the context needed.
  • Documentation is explanative of: what, why, how: The documentation does a good job of explaining how the game works!

I think the documentation could be improved by including a section "Playing the game" that gives instructions on how to launch it from the terminal (python game.py), and once you are in the game how to move (left and right arrowkeys) and shoot (spacebar). This is included in the game.py file, but for a new user this information would be helpful to be directly in the main directory.

  • Task # 1 Selected: Classes
  • Task # 2 Selected: User input, branching development

Reflection Questions

Please answer these questions based only on what you see in the GitHub repository, or what you can glean through opening issues.
Pretend you are an anonymous reviewer who has been asked to evaluate this repository for publication and open-access considerations.

  1. What does this code do?
    Cade: This code initiates a game for putting out fires from several burning buildings. The user is a fireman with a firehouse that shoots at the flames. The user controls the movement of the fireman and shooting water, while the game auto-generates fire. The game is quite fun and the aesthetics are very nice and well thought out!
  2. How does this code do it?
    Cade: This code does this by utilizing classes for different attributes of the game (game, avatar, fire, water, and play). Each class defines different ways the game works. For example, the avatar class defines how to link key movements of the user with movements of the fireman in the game. The code also includes different difficulties, adding user input.
  3. What data does this code work with?
    Cade: It works with uploaded background images (firefighter, fire, water, and background). The only other data it works with is the inputs by the user (left,right,space) to control the movements of the avatar.
  4. What do you find cool/interesting/unique about this code?
    Cade: I think it's fun to look at code that is not related to science/research. I think this game is very unique with nice graphics (did you make these yourself?). I haven't interacted with game code before, it is cool to see how it works.
  5. How can this code be improved (e.g., restructuring, optimization, improved examples, clearer explanation? - provide some input into how you could implement that)
    Cade: I think the one thing that is missing is clearer explanation in the readme on how to initialize the game and play the game. Otherwise I think this is great!

Pull request:

See pull request with changes to REAME file: #3

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions