Carol Zhang Ashley Mera
Tower Rescue. For this project, there will be a girl in a tower that needs to be saved. Your character is supposed to save the girl but there is a evil witch at the top of the tower trying to chase you. This is a 2 player game so either person can win. The witch will win if she gets the prince before he can catch Rapunzel and the prince will win if he gets to Rapunzel without getting caught.
- "Press start"
- Moving characters
- Witch with her apple
- Tower background
- "You win!" =======
Character class: represents the main characters and the character can move in various directions and perform actions like jumping Tower class: represents the tower and checks for collisions with the character to determine if the character has reached the top Witch class: the witch can throw apples at the character
-
Character Class: Represents the main character of the game, tasked with saving the girl from the tower. The character can move in various directions and perform actions like jumping.
-
Tower Class: Represents the tower where the girl is held captive. It checks for collisions with the character to determine if the character has reached the top of the tower. -Witch Class: Represents the evil witch at the top of the tower. The witch can chase the prince and when they collide the witch will win. -Apple Class: Represents the apples that is used with the witch. -class StartMenu: Allows buttons to play -class Highscore: Keeps track of time -class Clouds: extra decorations for visuals -class Rapunzel: The person who needs to be saved, if touched by prince, game is won. -class button: Allows retry
-
Controller Class: Manages the game loop, handles events, updates game logic, and controls the flow of the game.
TEST CASE 1: Player Movement for the Prince Test Description: Verify that the player can move left, right and up. Test Steps:
- Start the game
- Press the left arrow key on keyboard
- Verify the player moves left
- Press the right key arrow key on keyboard
- Verify the player moves right
- Press the Up key arrow key on keyboard
- Verify the player moves up Expected Outcome: The player should move left, right or up using keyboard keys.
TEST CASE 2: Player Movement for the Witch Test Description: Verify that the player can move left, right and up. Test Steps:
- Start the game
- Press "1" on keyboard to move left
- Verify the player moves left
- Press "2" on keyboard
- Verify the player moves right
- Press "4" on keyboard to move down
- Verify the player moves down
- Press "3" on keyboard to move up
- Verify the player moves up Expected Outcome: The player should move left, right or up and down using keyboard numbers.
TEST CASE 3: Collision detected Test Description: Ensure that collisions between the witch and prince are detected correctly. You are playing the witch (Keys for witch are 1 and 2, to move left and right and 3, 4 are to move up and down check test case 2 for verification) Test Steps: 1.Start the game. 2. If you are playing the witch, chase the prince until collistion 3.Verify that the witch with apple hits the prince. It will say "Game Over" 4. If you are playing with prine, move the prince until he arrives to rapunzel 5. Verify that no collision is detected. The prince will win and screen will say "you win!" Expected Outcome: Collision of characters should determine winning or losing outcome.
TEST CASE 4: Win/Lose Navigation Test Description: Test the navigation through the game's menu Test Steps:
- Run the Game
- Check to see if a "play button" appears
- Click "PLAY"
- Verify that game begins
- Play the game Expected Outcome: The beginning button should start the game
TEST CASE 5: Game Over/Retry Condition
- Start the game
- Play the game
- If playing prince, get hit by witch
- Verify that game displays "Game Over"
- Click "retry"
- Verify you can play again
- If playing prince, get to rapunzel
- Verify that game displays "You win"
- Click "retry"
- Verify you can play again
Expected Outcome: The game should display a message when the player loses or winsand you should get the option to play again.