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.

Revisions of GameEngine/GameEngine.cpp

Revision Date Message Actions
47:49fa1adc10b4 2020-05-19 Added accelerometer control function to the game. File  Diff  Annotate
45:fc3238cd28c6 2020-05-19 Added progression to the game so as the time goes on it gets harder. File  Diff  Annotate
44:2d957de3bce3 2020-05-19 When lives equal to zero "game over" is displayed and returns to the menu. File  Diff  Annotate
42:3aed75338272 2020-05-18 Play game part of the menu works. Gamepad launches into the menu and plays the game when selected. File  Diff  Annotate
41:5959256f4aab 2020-05-17 Added function to main to select between different menu parts; File  Diff  Annotate
40:71f947254fda 2020-05-17 Added menu class wich scrolls through menu parts and displays them File  Diff  Annotate
39:fc5586b930e3 2020-05-16 Added HUD (heads up display) class wich displays point, lives and smart bombed lefts. The amount of lives also interacts with LED's through a function in GameEngine. File  Diff  Annotate
36:27aa597db3d2 2020-05-15 Created Parent Classes folder to hold all of the parent class files. Shortened function lengths in Game Engine class and organised function definitions. File  Diff  Annotate
34:85ccc16f24d2 2020-05-15 Added when aliens collide with people, the people are abducted to the top of the screen. Then that alien tracks the spaceship and moves towards it rather than randomly moving. File  Diff  Annotate
33:7fedd8029473 2020-05-14 Began work on people class. People now randomly print on screen. File  Diff  Annotate
32:c006a9882778 2020-05-14 Multiple aliens now spawn in random positions and game has a set spawn rate. File  Diff  Annotate
31:6015e8ed859c 2020-05-14 Added get_pos function to position parent class. Added smart bomb weapon to weapons class. File  Diff  Annotate
30:814674b189f0 2020-05-14 Added if alien and ship collide the ship is destroyed. File  Diff  Annotate
29:e96d91f1d39c 2020-05-14 Fixed collision of spaceship bullets and alien. Added collision of alien bullet with spaceship which cause explosion. File  Diff  Annotate
28:a5958497d5ce 2020-05-13 Added Random Movement base class which is inherited by alien bullets and alien direction. Alien now shoots bullets randomly towards the spaceship. File  Diff  Annotate
27:8bb2bd97c319 2020-05-13 Added position parent class for other classes to inherit XY positions and direction bool. Added more Doxygen comments. Made code and comments multi-line to increase readability. File  Diff  Annotate
25:70b55f5bfc87 2020-05-12 Added explosion class. When the alien is now shot it explodes. File  Diff  Annotate
24:479da6ca0e7e 2020-05-12 Alien moves randomly and loops with the map when the spaceship get to the edge of the map. Alien also cant move off the map and can move towards the spaceship. File  Diff  Annotate
21:f7d7834e3af1 2020-05-05 Alien now moves with the map as the spaceship moves. Alien also moves towards the x position of the spaceship by its self. File  Diff  Annotate
20:febd920ec29e 2020-05-04 Added collision detection so the alien and bullet is deleted if a bullet hits it. File  Diff  Annotate
19:1bc0a2d22054 2020-05-03 Bullets can now be shot in both directions. Began work on alien class. File  Diff  Annotate
18:11068b98e261 2020-05-01 Added functions so if button A is press the spaceship shoots a bullet. File  Diff  Annotate
17:25d79cca203a 2020-04-29 Changed spaceship class to return x and y position as a Vector2D. Added calculate bullet start position function to weapons class. File  Diff  Annotate
16:1ee3d3804557 2020-04-28 Began work on weapons class. slightly changed map movement and spaceship movement functions to adjust where the spaceship sits on the screen when moving, in order to allow space for bullets. File  Diff  Annotate
15:90b6821bcf64 2020-04-28 Added DEBUG compile macros to check calculate_map_map was producing correct output File  Diff  Annotate
13:12276eed13ac 2020-04-26 Changed spaceship unit test code so it now done properly and doesn't require my input. Changed where objects are defined to reduce the number of arguments that need passing when a function is called. Edited gamepad code to properly add ADC pin. File  Diff  Annotate
11:ab578a151f67 2020-04-23 Added test files and ran a spaceship unit test, which it passed! Also cleaned up code and comments. File  Diff  Annotate
8:dd1037c5435b 2020-04-19 Added GameEnigne class to run the different parts of the game and tidied up code. File  Diff  Annotate
7:0af4ced868f5 2020-04-18 A random map now is drawn on the screen and the map moves with joystick input making it look like the spaceship is moving through the map. File  Diff  Annotate