https://replit.com/join/oiweiazppp-jackhunter9
Navigate your way through a maze as a student as fast as you can and try to avoid or defeat professors blocking your way!
-
Non-Standard libraries *Pygame -https://www.pygame.org/ - Pygame is a module for Python that helps you create games and other multimedia applications
-
Classes
-
< Class Player >
- init
- < Initializes the player object with characteristics: xpos ypos >
- moveRight
- < Allows the player to move in the right direction >
- moveLeft
- < Allows the player to move in the left direction >
- moveUp
- < Allows the player to move upwards >
- moveDown
- < Allows the player to move down >
- detectWall
- < Checks to see if the Player object collided with a Wall object >
- movement
- < Allows the player object to move based on keys >
- init
-
< Class Controller >
- init
- < Initializes the Controller object>
- mainloop
- < Runs the game >
- init
-
< Class Powerup >
- init
- < Initializes the powerup object >
- getCoords
- < Checks the coordinates of the powerup object compared to Walls>
- getObj
- < Puts the powerup object on the window >
- init
-
< Class Walls >
- init
- < Initializes the Wall object with characteristics: xpos ypos height and width>
- makeWall
- < Makes a wall object on the screen>
- init
-
< Class Graphical >
- init
- < Initializes the graphical object with characteristic: color >
- makeMenu
- makeMaze
- drawMaze
- makeControls
- init
-
< Class Keyboard >
- init
- < Initializes the Keyboard object with characteristics: xpos ypos >
- init
-
< Class Database >
- init
- < Initializes the database object >
- addData
- < saves data into the repl database >
- init
-
< Class puzzle >
- init
- < Initializes the Puzzle object with characteristics: xpos ypos >
- init
The Project is broken down into the following file structure:
- main.py
- src
- controller.py
- database.py
- graphical.py
- keyboard.py
- player.py
- powerup.py
- puzzle.py
- walls.py
- esc.py
- assets
- class_diagram.jpg
- apple.png
- backpack.png
- calculator.png
- pencil.png
- student.png
- keyboard.png
- concept_sketches (FOLDER)
- controls_sketch.png
- maze_sketch.png
- menu_sketch.png
- GUI_screens (FOLDER)
- controls_screen.png
- maze_screen.png
- menu_screen.png
- scoreboard_screen.png
- scoreboard_screen_end.png
- etc
- milestone2.md
- Jack-
- Database
- Player
- Graphical
- Controller functionality
- Lily-
- Walls
- Collaborative
- Powerup
- Controller
- We would test the program by writing bits of code as testing and debugging as we went
Step | Procedure | Expected Results |
---|---|---|
1 | Navigate to Shell, type "python3 main.py" and hit enter | Game window opens to screen that reads "Welcome to the Maze", "Enter", "Control", and "Scoreboard" |
2 | click "Control" | displays control screen with directions on what keys to press to move the player |
3 | press esc button on screen | window returns to menu screen |
4 | click "Scoreboard" | displays scoreboard screen with score rankings |
5 | click "Enter" | displays maze screen and user can begin playing |
6 | press up arrow key on keyboard | player moves up 2px |
7 | press down arrow key on keyboard | player moves down 2px |
8 | press left arrow key on keyboard | player moves left 2px |
9 | press right arrow key on keyboard | player moves right 2px |
10 | using arrow keys, navigate player to a powerup in the maze (backpack, calculator, or apple) | when player reaches a powerup, the powerup disappears and player gains 5 points |
11 | player is navigated to the end of the maze | scoreboard screen is shown with time ranks and users score is displayed under the scoreboard. if user makes it onto the scoreboard, their score will appear there as well |