Grading and Taking it Further
Grading Specifications
To receive a grade of B, you must have the following:
- Game object model is setup as described in the instructions (
Actor
functions affected areUpdate
,ProcessInput
, constructor and destructor;Game
functions affected areAddActor
,RemoveActor
,UpdateGame
,ProcessInput
,LoadData
,UnloadData
). - Sprite loading works in
Game::GetTexture
and sprites are drawn inGame::GenerateOutput
. - Ship appears and moves on screen using W, A, S, D.
- Asteroids initialize with random positions and rotations, move on screen, and wrap around when they go off screen.
- Pressing spacebar fires lasers, but you can’t shoot more than one a second, and lasers will disappear after one second if they hit nothing.
- Lasers can collide with asteroids and in the event of a collision both are destroyed.
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.
- Make the ship wrap around the screen, too
- Make it so when you kill a big asteroid, it splits into 4 smaller asteroids. Then when you kill those smaller asteroids, they just go away
- Add hit points to the ship. Every time you collide with an asteroid, you lose a hit point. If you run out, you die. (If you do this, don’t make it impossible to test the other parts because you die too fast.)
- Make it so when you kill all the asteroids on the screen, new ones spawn and move faster