Skip to main content Link Search Menu Expand Document (external link)

Theme: auto

Grading and Taking it Further

Grading Specifications

To receive a grade of B, you must have the following:

  1. The Level1.txt level file loads as expected. Mario can run and jump through the level, and collision with the blocks/pipes works as expected.
  2. Camera advances as Mario runs through the level. The camera should not go backwards, and Mario should not be able to run off camera.
  3. Goombas spawn and move as expected. They should fall when not standing on anything, and when they hit a wall or another Goomba, they switch directions.
  4. Mario can stomp on Goombas, and Mario dies if he runs into a Goomba and isn’t stomping it.
  5. The animations for Mario (idle, run, jump, dead) and the Goomba (walk, dead) play as appropriate, and AnimatedSprite passes the unit tests.
  6. The main music plays and loops. The sound effects for jump, stomp, and bump play as expected. When Mario dies (either killed by a Goomba or falls in a pit), the main music stops, and the death music plays. When Mario reaches the end of the level, the main music stops, and the victory music plays.

Keep in mind that for an A, you will also want to check for warnings on your GitHub actions, and make sure you are writing good quality code. We will do a code review and let you know what changes we think you should make, and you will have an opportunity to apply those changes to improve your grade during the regrade period.

For a C, you need to complete at least half (3/6) specs.

Taking it Further!! (Optional)

Here are some ideas on things you could add to this lab. As a reminder, doing this will have no impact on your lab grade. You do not need to implement any of these to get an A. Similarly, you could implement these and not get an A if you have other issues! Adding anything extra is purely “for fun” and for your own personal education and enjoyment.

  • To fix the bug when running into a green pipe and not being able to properly jump over, is make it so that the blocks for the pipe (F through I) don’t have collision components, and then make a new invisible block that is centered on the pipe with the correct collision component dimensions based on the size of the pipe.
  • Make it so when Mario hits a question mark block from below (C in the level file), it spawns a coin (use "Assets/Coin.png) and changes the block type to E. You could also play "Assets/Sounds/Coin.wav"
  • Make it so the first question mark block you hit from below creates a mushroom ("Assets/Mushroom.png") that moves like a goomba. If Mario picks up the mushroom, he turns into “Super Mario”. There are images for the various super animations in "Assets/SuperMario/". There are also sounds for the mushroom appearing, Mario powering up, and a different jump sound for super Mario.
  • Add another enemy type, the Koopa, which is the green turtle. This enemy starts by moving to the left, but unlike the goomba it doesn’t fall off ledges, but instead turns around when it reaches a ledge. When Mario stomps a koopa, it hides in his shell, and then Mario can kick the shell. Images for this are in "Assets/Koopa/". There’s also a kick sound effect.