Musallam Bseiso / Enemy1
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?

UserRevisionLine numberNew 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