Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
SpaceRebEngine/SpaceRebEngine.h@20:477d2ee5e461, 2019-05-09 (annotated)
- Committer:
- henririgby98
- Date:
- Thu May 09 14:58:01 2019 +0000
- Revision:
- 20:477d2ee5e461
- Parent:
- 17:e749cac05270
finish;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
henririgby98 | 4:d744920089ea | 1 | #ifndef SPACEREBENGINE_H |
henririgby98 | 4:d744920089ea | 2 | #define SPACEREBENGINE_H |
henririgby98 | 4:d744920089ea | 3 | |
henririgby98 | 4:d744920089ea | 4 | #include "mbed.h" |
henririgby98 | 4:d744920089ea | 5 | #include "N5110.h" |
henririgby98 | 4:d744920089ea | 6 | #include "Gamepad.h" |
henririgby98 | 5:0da65740cd5e | 7 | #include "SpaceInvader.h" |
henririgby98 | 4:d744920089ea | 8 | #include "Missiles.h" |
henririgby98 | 4:d744920089ea | 9 | |
henririgby98 | 17:e749cac05270 | 10 | /** SpaceRebEngine class |
henririgby98 | 17:e749cac05270 | 11 | |
henririgby98 | 17:e749cac05270 | 12 | @brief Class for Space Rebellion Engine |
henririgby98 | 17:e749cac05270 | 13 | |
henririgby98 | 17:e749cac05270 | 14 | @version 1.0 |
henririgby98 | 17:e749cac05270 | 15 | |
henririgby98 | 17:e749cac05270 | 16 | @author Henri Rigby |
henririgby98 | 17:e749cac05270 | 17 | |
henririgby98 | 17:e749cac05270 | 18 | @date May 2019 |
henririgby98 | 17:e749cac05270 | 19 | |
henririgby98 | 17:e749cac05270 | 20 | */ |
henririgby98 | 4:d744920089ea | 21 | |
henririgby98 | 4:d744920089ea | 22 | class SpaceRebEngine |
henririgby98 | 4:d744920089ea | 23 | { |
henririgby98 | 4:d744920089ea | 24 | |
henririgby98 | 4:d744920089ea | 25 | public: |
henririgby98 | 20:477d2ee5e461 | 26 | /**constructor*/ |
henririgby98 | 4:d744920089ea | 27 | SpaceRebEngine(); |
henririgby98 | 20:477d2ee5e461 | 28 | /**destructor*/ |
henririgby98 | 4:d744920089ea | 29 | ~SpaceRebEngine(); |
henririgby98 | 17:e749cac05270 | 30 | /** |
henririgby98 | 17:e749cac05270 | 31 | * @brief Initialises spaceinvader and missiles |
henririgby98 | 17:e749cac05270 | 32 | * @param sets spaceinvader @details Sets height and width of the spaceinvader private variables |
henririgby98 | 17:e749cac05270 | 33 | * @param sets missiles @details Sets size and speed of the missiles private variables |
henririgby98 | 17:e749cac05270 | 34 | */ |
henririgby98 | 4:d744920089ea | 35 | void init(int spaceinvader_width,int spaceinvader_height,int missiles_size,int speed); |
henririgby98 | 17:e749cac05270 | 36 | /** |
henririgby98 | 17:e749cac05270 | 37 | * @brief Sets joystick values |
henririgby98 | 17:e749cac05270 | 38 | * @param sets the joystick values @details Sets direction and magnitude of the joystick private variables |
henririgby98 | 17:e749cac05270 | 39 | */ |
henririgby98 | 4:d744920089ea | 40 | void read_input(Gamepad &pad); |
henririgby98 | 17:e749cac05270 | 41 | /** |
henririgby98 | 17:e749cac05270 | 42 | * @brief Updates joystick and missiles values |
henririgby98 | 17:e749cac05270 | 43 | * @param sets the joystick values @details Sets direction and magnitude of the joystick private variables |
henririgby98 | 17:e749cac05270 | 44 | * @param sets missiles @details Sets size and speed of the missiles private variables |
henririgby98 | 17:e749cac05270 | 45 | */ |
henririgby98 | 4:d744920089ea | 46 | void update(Gamepad &pad); |
henririgby98 | 17:e749cac05270 | 47 | /** |
henririgby98 | 17:e749cac05270 | 48 | * @brief Draws game |
henririgby98 | 17:e749cac05270 | 49 | * @return draw game components @details Draws spaceinvader, missiles & play area |
henririgby98 | 17:e749cac05270 | 50 | */ |
henririgby98 | 4:d744920089ea | 51 | void draw(N5110 &lcd); |
henririgby98 | 17:e749cac05270 | 52 | /** |
henririgby98 | 17:e749cac05270 | 53 | * @brief Sets score and prints score |
henririgby98 | 17:e749cac05270 | 54 | * @param sets the score value @details Sets the value of _score private variable |
henririgby98 | 17:e749cac05270 | 55 | * @return prints value of score @details Prints the score on the lcd display |
henririgby98 | 17:e749cac05270 | 56 | */ |
henririgby98 | 7:e0cab3e73df9 | 57 | void print_scores(N5110 &lcd); |
henririgby98 | 17:e749cac05270 | 58 | /** |
henririgby98 | 17:e749cac05270 | 59 | * @brief Sets value of _end |
henririgby98 | 17:e749cac05270 | 60 | * @param value of _end @details Returns the boolean value of _end |
henririgby98 | 17:e749cac05270 | 61 | */ |
henririgby98 | 17:e749cac05270 | 62 | void check_spaceinvader_collision(Gamepad &pad); |
henririgby98 | 17:e749cac05270 | 63 | /** |
henririgby98 | 17:e749cac05270 | 64 | * @brief Sets missiles velocity |
henririgby98 | 17:e749cac05270 | 65 | * @param sets velocity values of missiles @details Sets the values for velocity.x & velocity.y of missiles |
henririgby98 | 17:e749cac05270 | 66 | */ |
henririgby98 | 17:e749cac05270 | 67 | void check_wall_collision(Gamepad &pad); |
henririgby98 | 17:e749cac05270 | 68 | /** |
henririgby98 | 17:e749cac05270 | 69 | * @brief Gets value of end |
henririgby98 | 17:e749cac05270 | 70 | * @return value of end @details Returns the boolean value of end |
henririgby98 | 17:e749cac05270 | 71 | */ |
henririgby98 | 7:e0cab3e73df9 | 72 | bool game_end(); |
henririgby98 | 4:d744920089ea | 73 | |
henririgby98 | 4:d744920089ea | 74 | private: |
henririgby98 | 4:d744920089ea | 75 | |
henririgby98 | 4:d744920089ea | 76 | SpaceInvader _player; |
henririgby98 | 4:d744920089ea | 77 | |
henririgby98 | 4:d744920089ea | 78 | int _spaceinvader_width; |
henririgby98 | 4:d744920089ea | 79 | int _spaceinvader_height; |
henririgby98 | 4:d744920089ea | 80 | int _missiles_size; |
henririgby98 | 4:d744920089ea | 81 | int _speed; |
henririgby98 | 7:e0cab3e73df9 | 82 | int _score; |
henririgby98 | 7:e0cab3e73df9 | 83 | |
henririgby98 | 7:e0cab3e73df9 | 84 | bool _end; |
henririgby98 | 4:d744920089ea | 85 | |
henririgby98 | 4:d744920089ea | 86 | Missiles _missiles; |
henririgby98 | 4:d744920089ea | 87 | |
henririgby98 | 4:d744920089ea | 88 | Direction _d; |
henririgby98 | 4:d744920089ea | 89 | float _mag; |
henririgby98 | 4:d744920089ea | 90 | |
henririgby98 | 4:d744920089ea | 91 | }; |
henririgby98 | 4:d744920089ea | 92 | |
henririgby98 | 4:d744920089ea | 93 | #endif |