Ben Evans University Second Year Project. Game Called Defender.

Dependencies:   mbed

https://os.mbed.com/media/uploads/evanso/84bc1a30759fd6a1e3f1fd1fae3e97c2.png

Hello, soldier, you have been specially selected as the defender of planet earth.

Your mission, if you choose to accept it. Fly around the planet and pulverise invading alien ships for as long as you can. Stop the aliens abducting the innocent people on the ground. Be warned if an alien ship manages to abduct a person and take them to top of the screen, they will no longer move randomly and will begin to hunt you down. This sounds like a challenge you were trained for.

But don’t worry soldier you’re not going into battle empty-handed. Your ship is equipped with a state of the art laser beam that has unlimited ammo and four smart bombs that will destroy anything on the screen. The ship also has three lives so use them wisely.

As time goes on more alien ships will arrive on planet earth increasing the difficulty of your mission. And remember the landscape bellow loops around so if you continually fly in the same direction you go to your original position. Good luck soldier.

Committer:
evanso
Date:
Wed May 27 02:06:05 2020 +0000
Revision:
87:832ca78426b5
Parent:
85:87bc28b151d8
Final Submission. I have read and agreed with Statement of Academic Integrity.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
evanso 79:66bcf8fa2d2d 1 #ifndef HIGHSCORE_TEST_H
evanso 79:66bcf8fa2d2d 2 #define HIGHSCORE_TEST_H
evanso 79:66bcf8fa2d2d 3
evanso 79:66bcf8fa2d2d 4 /** High Score Test
evanso 85:87bc28b151d8 5 * @brief Checks no score screen displays
evanso 79:66bcf8fa2d2d 6 * @author Benjamin Evans, University of Leeds
evanso 79:66bcf8fa2d2d 7 * @date May 2020
evanso 79:66bcf8fa2d2d 8 * @return true if test are passed
evanso 79:66bcf8fa2d2d 9 */
evanso 79:66bcf8fa2d2d 10 bool no_high_scores_test(int expected_pixel_status, int expected_postion_x,
evanso 82:3211b31e9421 11 int expected_postion_y) {
evanso 79:66bcf8fa2d2d 12
evanso 85:87bc28b151d8 13 // Objects required for test
evanso 79:66bcf8fa2d2d 14 HighScore high_score;
evanso 79:66bcf8fa2d2d 15 N5110 lcd;
evanso 79:66bcf8fa2d2d 16
evanso 79:66bcf8fa2d2d 17 // Initialise save and lcd
evanso 79:66bcf8fa2d2d 18 high_score.init();
evanso 79:66bcf8fa2d2d 19 lcd.init();
evanso 79:66bcf8fa2d2d 20
evanso 79:66bcf8fa2d2d 21 printf("no_high_scores x,y = %d,%d : ",expected_postion_x,
evanso 79:66bcf8fa2d2d 22 expected_postion_y );
evanso 79:66bcf8fa2d2d 23
evanso 79:66bcf8fa2d2d 24 high_score.no_high_scores(lcd);
evanso 79:66bcf8fa2d2d 25
evanso 79:66bcf8fa2d2d 26 // Reads pixel where hud is expected to be drawn
evanso 79:66bcf8fa2d2d 27 int actual_pixel_status = lcd.getPixel(expected_postion_x,
evanso 79:66bcf8fa2d2d 28 expected_postion_y);
evanso 79:66bcf8fa2d2d 29
evanso 85:87bc28b151d8 30 // Checks if pixel is drawn and therefor testing it hasn’t gone of screen
evanso 79:66bcf8fa2d2d 31 if (actual_pixel_status == expected_pixel_status) {
evanso 79:66bcf8fa2d2d 32 printf ( "Passed!\n");
evanso 79:66bcf8fa2d2d 33 return true;
evanso 79:66bcf8fa2d2d 34 } else {
evanso 79:66bcf8fa2d2d 35 printf ( "Failed! value = %d (expecting %d)\n", actual_pixel_status,
evanso 79:66bcf8fa2d2d 36 expected_pixel_status);
evanso 79:66bcf8fa2d2d 37 return false;
evanso 79:66bcf8fa2d2d 38 }
evanso 79:66bcf8fa2d2d 39 }
evanso 79:66bcf8fa2d2d 40
evanso 85:87bc28b151d8 41 #endif