Grading and Taking it Further
Grading Specifications
To receive a grade of B, you must have the following:
- The level file loads and parses correctly with the initial positions of the frog, vehicles, and logs correct
- The frog hops on the leading edge of the WASD keys and can’t hop off screen
WrappingMove
is implemented and used for bothVehicle
andLog
movement- The
Frog
-Vehicle
intersection works as expected, with aCollisionComponent::Intersect
implementation which passes the unit tests. When the frog dies it shows aDeadFrog
and moves the frog back to the start position - The more responsible driving check is implemented using the dot product and arccosine
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- 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 theX
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