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.
Enemy1.h@8:2ced844d8292, 2017-05-03 (annotated)
- Committer:
- musallambseiso
- Date:
- Wed May 03 20:03:46 2017 +0000
- Revision:
- 8:2ced844d8292
- Parent:
- 7:3d951a743dbe
Removed redundant code, perfected Doxygen, added inline comments.
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| musallambseiso | 7:3d951a743dbe | 1 | #ifndef ENEMY1_H | 
| musallambseiso | 7:3d951a743dbe | 2 | #define ENEMY1_H | 
| musallambseiso | 7:3d951a743dbe | 3 | |
| musallambseiso | 7:3d951a743dbe | 4 | #include "mbed.h" | 
| musallambseiso | 7:3d951a743dbe | 5 | #include "N5110.h" | 
| musallambseiso | 7:3d951a743dbe | 6 | #include "Gamepad.h" | 
| musallambseiso | 7:3d951a743dbe | 7 | #include "Friendly.h" | 
| musallambseiso | 7:3d951a743dbe | 8 | |
| musallambseiso | 8:2ced844d8292 | 9 | /** Enemy1 Class | 
| musallambseiso | 8:2ced844d8292 | 10 | @brief Used for generating the first enemy ship in the Nemesis game. Includes drawing and updating functions. | 
| musallambseiso | 8:2ced844d8292 | 11 | @brief Incorporates N5110.h file by Craig A. Evans. | 
| musallambseiso | 8:2ced844d8292 | 12 | |
| musallambseiso | 8:2ced844d8292 | 13 | @brief Revision 1.0 | 
| musallambseiso | 8:2ced844d8292 | 14 | |
| musallambseiso | 8:2ced844d8292 | 15 | @author Musallam M. M. Bseiso | 
| musallambseiso | 8:2ced844d8292 | 16 | @date 3rd May 2017 | 
| musallambseiso | 8:2ced844d8292 | 17 | */ | 
| musallambseiso | 8:2ced844d8292 | 18 | |
| musallambseiso | 8:2ced844d8292 | 19 | |
| musallambseiso | 7:3d951a743dbe | 20 | class Enemy1 | 
| musallambseiso | 7:3d951a743dbe | 21 | { | 
| musallambseiso | 7:3d951a743dbe | 22 | |
| musallambseiso | 7:3d951a743dbe | 23 | public: | 
| musallambseiso | 7:3d951a743dbe | 24 | |
| musallambseiso | 7:3d951a743dbe | 25 | /// Constructor and destructor: | 
| musallambseiso | 7:3d951a743dbe | 26 | Enemy1(); | 
| musallambseiso | 7:3d951a743dbe | 27 | ~Enemy1(); | 
| musallambseiso | 7:3d951a743dbe | 28 | |
| musallambseiso | 7:3d951a743dbe | 29 | |
| musallambseiso | 7:3d951a743dbe | 30 | //////////////////////////////// | 
| musallambseiso | 7:3d951a743dbe | 31 | //////// PUBLIC METHODS | 
| musallambseiso | 7:3d951a743dbe | 32 | //////////////////////////////// | 
| musallambseiso | 7:3d951a743dbe | 33 | |
| musallambseiso | 7:3d951a743dbe | 34 | |
| musallambseiso | 7:3d951a743dbe | 35 | /** Initialize Enemy1 | 
| musallambseiso | 7:3d951a743dbe | 36 | * | 
| musallambseiso | 7:3d951a743dbe | 37 | * Initializes first enemy ship x (random) & y (fixed) positions, as well as speed. | 
| musallambseiso | 7:3d951a743dbe | 38 | */ | 
| musallambseiso | 7:3d951a743dbe | 39 | void init(int speed); | 
| musallambseiso | 7:3d951a743dbe | 40 | |
| musallambseiso | 7:3d951a743dbe | 41 | |
| musallambseiso | 7:3d951a743dbe | 42 | /** Draw Enemy1 | 
| musallambseiso | 7:3d951a743dbe | 43 | * | 
| musallambseiso | 7:3d951a743dbe | 44 | * Draws the first enemy ship onto the LCD, in accordance with the parameters initialized in the "init" method. | 
| musallambseiso | 8:2ced844d8292 | 45 | * @param N5110 - nokia LCD library | 
| musallambseiso | 8:2ced844d8292 | 46 | * @param lcd - pointer to nokia LCD library | 
| musallambseiso | 7:3d951a743dbe | 47 | */ | 
| musallambseiso | 7:3d951a743dbe | 48 | void draw(N5110 &lcd); | 
| musallambseiso | 7:3d951a743dbe | 49 | |
| musallambseiso | 7:3d951a743dbe | 50 | |
| musallambseiso | 7:3d951a743dbe | 51 | /** Update Enemy1 | 
| musallambseiso | 7:3d951a743dbe | 52 | * | 
| musallambseiso | 7:3d951a743dbe | 53 | * Updates the first enemy ship's x and y position. X and y positions are altered by adding speeds. | 
| musallambseiso | 7:3d951a743dbe | 54 | */ | 
| musallambseiso | 7:3d951a743dbe | 55 | void update(); | 
| musallambseiso | 7:3d951a743dbe | 56 | |
| musallambseiso | 7:3d951a743dbe | 57 | |
| musallambseiso | 7:3d951a743dbe | 58 | /** Get Enemy1 Position | 
| musallambseiso | 7:3d951a743dbe | 59 | * | 
| musallambseiso | 7:3d951a743dbe | 60 | * Obtains the position (x and y coordinates) of the first enemy ship at any given time, into a two-dimensional vector. | 
| musallambseiso | 7:3d951a743dbe | 61 | * @returns p - the Vector2D of the parameters | 
| musallambseiso | 7:3d951a743dbe | 62 | */ | 
| musallambseiso | 7:3d951a743dbe | 63 | Vector2D get_pos(); | 
| musallambseiso | 7:3d951a743dbe | 64 | |
| musallambseiso | 7:3d951a743dbe | 65 | private: | 
| musallambseiso | 7:3d951a743dbe | 66 | |
| musallambseiso | 7:3d951a743dbe | 67 | |
| musallambseiso | 7:3d951a743dbe | 68 | //////////////////////////////// | 
| musallambseiso | 7:3d951a743dbe | 69 | //////// PRIVATE VARIABLES | 
| musallambseiso | 7:3d951a743dbe | 70 | //////////////////////////////// | 
| musallambseiso | 7:3d951a743dbe | 71 | |
| musallambseiso | 7:3d951a743dbe | 72 | |
| musallambseiso | 7:3d951a743dbe | 73 | /// Vector2D that stores two speeds, one for x and one for y. | 
| musallambseiso | 7:3d951a743dbe | 74 | Vector2D _velocity; | 
| musallambseiso | 7:3d951a743dbe | 75 | |
| musallambseiso | 7:3d951a743dbe | 76 | /// Integer variables to store the x and y coordinates of the friendly ship: | 
| musallambseiso | 7:3d951a743dbe | 77 | int _x; | 
| musallambseiso | 7:3d951a743dbe | 78 | int _y; | 
| musallambseiso | 7:3d951a743dbe | 79 | |
| musallambseiso | 7:3d951a743dbe | 80 | }; | 
| musallambseiso | 7:3d951a743dbe | 81 | #endif |