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 level file loads and parses correctly with the initial positions of the frog, vehicles, and logs correct
  2. The frog hops on the leading edge of the WASD keys and can’t hop off screen
  3. WrappingMove is implemented and used for both Vehicle and Log movement
  4. The Frog-Vehicle intersection works as expected, with a CollisionComponent::Intersect implementation which passes the unit tests. When the frog dies it shows a DeadFrog and moves the frog back to the start position
  5. The more responsible driving check is implemented using the dot product and arccosine
  6. GetMinOverlap is implemented and passes the unit tests. GetMinOverlap is used to have the frog “ride” logs, and the frog dies if it jumps into the water
  7. The goal is implemented and if the frog reaches the goal the frog is paused

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.

Since there is an odd number of spec items (7), you have to implement at least 4 to get a C.

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.

  • Add tracking of lives
  • In the original Frogger, there are multiple goals. Change the background and level file so there are multiple and you have to fill all of them to win!
  • Instead of all logs, the original frogger has turtles (there’s an included Turtle.png you can use). Replace some of the X logs with turtles that go under the water periodically
  • Currently, the wrapping results in the position of the log or car “teleporting” to the other side of the screen rather than seamlessly moving over. Change the wrapping code to seamlessly draw the object twice during the transition