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
Missiles/Missiles.h@13:5aa4147e2b3e, 2019-05-09 (annotated)
- Committer:
- henririgby98
- Date:
- Thu May 09 10:09:34 2019 +0000
- Revision:
- 13:5aa4147e2b3e
- Parent:
- 7:e0cab3e73df9
- Child:
- 15:286dde533aba
complete with doxygen
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
henririgby98 | 3:2aea0872bb5e | 1 | #ifndef MISSILES_H |
henririgby98 | 3:2aea0872bb5e | 2 | #define MISSILES_H |
henririgby98 | 3:2aea0872bb5e | 3 | |
henririgby98 | 3:2aea0872bb5e | 4 | #include "mbed.h" |
henririgby98 | 3:2aea0872bb5e | 5 | #include "N5110.h" |
henririgby98 | 3:2aea0872bb5e | 6 | #include "Gamepad.h" |
henririgby98 | 3:2aea0872bb5e | 7 | |
henririgby98 | 13:5aa4147e2b3e | 8 | /** Missiles class |
henririgby98 | 13:5aa4147e2b3e | 9 | |
henririgby98 | 13:5aa4147e2b3e | 10 | @brief Class for Missiles |
henririgby98 | 13:5aa4147e2b3e | 11 | |
henririgby98 | 13:5aa4147e2b3e | 12 | @version 1.0 |
henririgby98 | 13:5aa4147e2b3e | 13 | |
henririgby98 | 13:5aa4147e2b3e | 14 | @author Henri Rigby |
henririgby98 | 13:5aa4147e2b3e | 15 | |
henririgby98 | 13:5aa4147e2b3e | 16 | @date May 2019 |
henririgby98 | 13:5aa4147e2b3e | 17 | |
henririgby98 | 13:5aa4147e2b3e | 18 | @code |
henririgby98 | 13:5aa4147e2b3e | 19 | |
henririgby98 | 13:5aa4147e2b3e | 20 | @endcode |
henririgby98 | 13:5aa4147e2b3e | 21 | */ |
henririgby98 | 13:5aa4147e2b3e | 22 | |
henririgby98 | 3:2aea0872bb5e | 23 | class Missiles |
henririgby98 | 3:2aea0872bb5e | 24 | { |
henririgby98 | 3:2aea0872bb5e | 25 | |
henririgby98 | 3:2aea0872bb5e | 26 | public: |
henririgby98 | 3:2aea0872bb5e | 27 | Missiles(); |
henririgby98 | 3:2aea0872bb5e | 28 | ~Missiles(); |
henririgby98 | 13:5aa4147e2b3e | 29 | /** |
henririgby98 | 13:5aa4147e2b3e | 30 | * @brief Randomises missile starting position |
henririgby98 | 13:5aa4147e2b3e | 31 | * @param sets position @details sets Starting position of the missile |
henririgby98 | 13:5aa4147e2b3e | 32 | */ |
henririgby98 | 7:e0cab3e73df9 | 33 | void init(int size); |
henririgby98 | 13:5aa4147e2b3e | 34 | /** |
henririgby98 | 13:5aa4147e2b3e | 35 | * @brief Randomises starting direction & velocity if missile starts at bottom |
henririgby98 | 13:5aa4147e2b3e | 36 | * @param sets direction & velocity @details Sets starting direction & velocity of missile from bottom |
henririgby98 | 13:5aa4147e2b3e | 37 | */ |
henririgby98 | 7:e0cab3e73df9 | 38 | void south(); |
henririgby98 | 13:5aa4147e2b3e | 39 | /** |
henririgby98 | 13:5aa4147e2b3e | 40 | * @brief Randomises starting direction & velocity if missile starts at top |
henririgby98 | 13:5aa4147e2b3e | 41 | * @param sets direction & velocity @details Sets starting direction & velocity of missile from top |
henririgby98 | 13:5aa4147e2b3e | 42 | */ |
henririgby98 | 7:e0cab3e73df9 | 43 | void north(); |
henririgby98 | 13:5aa4147e2b3e | 44 | /** |
henririgby98 | 13:5aa4147e2b3e | 45 | * @brief Randomises starting direction & velocity if missile starts on left side |
henririgby98 | 13:5aa4147e2b3e | 46 | * @param sets direction & velocity @details Sets starting direction & velocity of missile from left side |
henririgby98 | 13:5aa4147e2b3e | 47 | */ |
henririgby98 | 7:e0cab3e73df9 | 48 | void west(); |
henririgby98 | 13:5aa4147e2b3e | 49 | /** |
henririgby98 | 13:5aa4147e2b3e | 50 | * @brief Randomises starting direction & velocity if missile starts on right side |
henririgby98 | 13:5aa4147e2b3e | 51 | * @param sets direction & velocity @details Sets starting direction & velocity of missile from right side |
henririgby98 | 13:5aa4147e2b3e | 52 | */ |
henririgby98 | 7:e0cab3e73df9 | 53 | void east(); |
henririgby98 | 13:5aa4147e2b3e | 54 | /** |
henririgby98 | 13:5aa4147e2b3e | 55 | * @brief Draws the missile |
henririgby98 | 13:5aa4147e2b3e | 56 | * @param draws missile @details draws 2x2 square representing a missile |
henririgby98 | 13:5aa4147e2b3e | 57 | */ |
henririgby98 | 3:2aea0872bb5e | 58 | void draw(N5110 &lcd); |
henririgby98 | 13:5aa4147e2b3e | 59 | /** |
henririgby98 | 13:5aa4147e2b3e | 60 | * @brief Updates the position of the missile |
henririgby98 | 13:5aa4147e2b3e | 61 | * @param setsposition @details Will reset the position of missile by adding the missiles velocity |
henririgby98 | 13:5aa4147e2b3e | 62 | */ |
henririgby98 | 3:2aea0872bb5e | 63 | void update(); |
henririgby98 | 13:5aa4147e2b3e | 64 | /** |
henririgby98 | 13:5aa4147e2b3e | 65 | * @brief Sets the score |
henririgby98 | 13:5aa4147e2b3e | 66 | * @param the value of the score(int) @details Sets the score of the game back to 0 |
henririgby98 | 13:5aa4147e2b3e | 67 | */ |
henririgby98 | 7:e0cab3e73df9 | 68 | int set_score(); |
henririgby98 | 13:5aa4147e2b3e | 69 | /** |
henririgby98 | 13:5aa4147e2b3e | 70 | * @brief Increases the score |
henririgby98 | 13:5aa4147e2b3e | 71 | * @param the value of the score @details Increases the value of score by 1 |
henririgby98 | 13:5aa4147e2b3e | 72 | */ |
henririgby98 | 7:e0cab3e73df9 | 73 | void add_score(); |
henririgby98 | 13:5aa4147e2b3e | 74 | /** |
henririgby98 | 13:5aa4147e2b3e | 75 | * @brief Gets the score |
henririgby98 | 13:5aa4147e2b3e | 76 | * @param return the current score @details Returns the value of what score is currently |
henririgby98 | 13:5aa4147e2b3e | 77 | */ |
henririgby98 | 7:e0cab3e73df9 | 78 | int get_score(); |
henririgby98 | 13:5aa4147e2b3e | 79 | /** |
henririgby98 | 13:5aa4147e2b3e | 80 | * @brief Sets the velocity |
henririgby98 | 13:5aa4147e2b3e | 81 | * @param sets velocity componets @details sets the velocity by equalling it to 2D velocity multiplied by direction |
henririgby98 | 13:5aa4147e2b3e | 82 | */ |
henririgby98 | 3:2aea0872bb5e | 83 | void set_velocity(Vector2D v); |
henririgby98 | 13:5aa4147e2b3e | 84 | /** |
henririgby98 | 13:5aa4147e2b3e | 85 | * @brief Gets the velocity |
henririgby98 | 13:5aa4147e2b3e | 86 | * @param returns 2D velocity @details returns the 2D velocity by taking velocity components of both x and y |
henririgby98 | 13:5aa4147e2b3e | 87 | */ |
henririgby98 | 3:2aea0872bb5e | 88 | Vector2D get_velocity(); |
henririgby98 | 13:5aa4147e2b3e | 89 | /** |
henririgby98 | 13:5aa4147e2b3e | 90 | * @brief Gets the position |
henririgby98 | 13:5aa4147e2b3e | 91 | * @param returns position @details returns the position of both the x and y coordinates |
henririgby98 | 13:5aa4147e2b3e | 92 | */ |
henririgby98 | 3:2aea0872bb5e | 93 | Vector2D get_pos(); |
henririgby98 | 13:5aa4147e2b3e | 94 | /** |
henririgby98 | 13:5aa4147e2b3e | 95 | * @brief sets the position |
henririgby98 | 13:5aa4147e2b3e | 96 | * @param sets position @details sets x and y coordinates by taking their respective values from p |
henririgby98 | 13:5aa4147e2b3e | 97 | */ |
henririgby98 | 3:2aea0872bb5e | 98 | void set_pos(Vector2D p); |
henririgby98 | 3:2aea0872bb5e | 99 | |
henririgby98 | 3:2aea0872bb5e | 100 | private: |
henririgby98 | 3:2aea0872bb5e | 101 | |
henririgby98 | 13:5aa4147e2b3e | 102 | int _x; |
henririgby98 | 13:5aa4147e2b3e | 103 | int _y; |
henririgby98 | 7:e0cab3e73df9 | 104 | int _score; |
henririgby98 | 7:e0cab3e73df9 | 105 | int _speed; |
henririgby98 | 3:2aea0872bb5e | 106 | Vector2D _velocity; |
henririgby98 | 3:2aea0872bb5e | 107 | int _size; |
henririgby98 | 3:2aea0872bb5e | 108 | }; |
henririgby98 | 3:2aea0872bb5e | 109 | #endif |