Laila Al Badwawi 200906179 SpaceInvaders I declare this my own independent work and understand the university rules on plagiarism.

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Wed May 08 18:54:03 2019 +0000
Revision:
133:eed60548d170
Parent:
130:4ce67451d0c1
Child:
137:fe80c0f2da9d
choose the alien to move randomly by using srand function.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fy14lkaa 28:4786e81ce3e3 1 #ifndef Alien_H
fy14lkaa 28:4786e81ce3e3 2 #define Alien_H
fy14lkaa 28:4786e81ce3e3 3
fy14lkaa 28:4786e81ce3e3 4 #include "mbed.h"
fy14lkaa 28:4786e81ce3e3 5 #include "Gamepad.h"
fy14lkaa 28:4786e81ce3e3 6 #include "N5110.h"
fy14lkaa 133:eed60548d170 7
fy14lkaa 133:eed60548d170 8
fy14lkaa 133:eed60548d170 9
fy14lkaa 133:eed60548d170 10
fy14lkaa 133:eed60548d170 11
fy14lkaa 133:eed60548d170 12
fy14lkaa 133:eed60548d170 13 const int alien2[32][32]= {
fy14lkaa 127:8bd8cf136f19 14
fy14lkaa 28:4786e81ce3e3 15
fy14lkaa 133:eed60548d170 16 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 17 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 18 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 19 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 20 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 21 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 22 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 23 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 24 {0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 25 {0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 26 {0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 27 {0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 28 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 29 {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 30 {1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 31 {0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 32 {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 33 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 34 {0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 35 {0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 36 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 37 {0,0,0,1,0,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 38 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 39 {1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 40 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 41 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 42 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 43 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 44 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 45 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 46 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 47 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 133:eed60548d170 48 };
fy14lkaa 133:eed60548d170 49
fy14lkaa 133:eed60548d170 50 /** Alien class
fy14lkaa 133:eed60548d170 51 @brief class for Alien
fy14lkaa 133:eed60548d170 52 @version 1.0
fy14lkaa 133:eed60548d170 53 @author Laila Al Badwawi
fy14lkaa 133:eed60548d170 54 @date April 2019
fy14lkaa 133:eed60548d170 55 */
fy14lkaa 28:4786e81ce3e3 56 class Alien
fy14lkaa 28:4786e81ce3e3 57 {
fy14lkaa 95:1b43f9c332bc 58 public:
fy14lkaa 95:1b43f9c332bc 59 Alien();
fy14lkaa 95:1b43f9c332bc 60 ~Alien();
fy14lkaa 95:1b43f9c332bc 61
fy14lkaa 133:eed60548d170 62 /**
fy14lkaa 133:eed60548d170 63 *@brief initialise an identity for the Alien
fy14lkaa 133:eed60548d170 64 *@param x_alien @details the x-cooridante of Alien in intger
fy14lkaa 133:eed60548d170 65 *@param y_alien @details the y-cooridante of Alien in integer
fy14lkaa 133:eed60548d170 66 *@param speed_alien @details the speed of Alien in integer
fy14lkaa 133:eed60548d170 67 */
fy14lkaa 95:1b43f9c332bc 68
fy14lkaa 95:1b43f9c332bc 69 void init(int x_alien,int y_alien, int speed_alien);
fy14lkaa 133:eed60548d170 70 /**
fy14lkaa 133:eed60548d170 71 *@brief drawing the Alien
fy14lkaa 133:eed60548d170 72 *@param draw @details drawing the Alien by using N5110&lcd librarieas
fy14lkaa 133:eed60548d170 73 */
fy14lkaa 28:4786e81ce3e3 74 void draw(N5110 &lcd);
fy14lkaa 133:eed60548d170 75 /**
fy14lkaa 133:eed60548d170 76 *@brief updating the position of the Alien
fy14lkaa 133:eed60548d170 77 *@param update @details update the position of the Alien.
fy14lkaa 133:eed60548d170 78 */
fy14lkaa 95:1b43f9c332bc 79 void update(Direction d,float mag);
fy14lkaa 133:eed60548d170 80
fy14lkaa 133:eed60548d170 81
fy14lkaa 133:eed60548d170 82
fy14lkaa 133:eed60548d170 83 void set_pos(int x, int y);
fy14lkaa 133:eed60548d170 84
fy14lkaa 133:eed60548d170 85 int get_pos_y();
fy14lkaa 133:eed60548d170 86 int get_pos_x();
fy14lkaa 133:eed60548d170 87 void add_score();
fy14lkaa 133:eed60548d170 88 int get_score();
fy14lkaa 133:eed60548d170 89 void read_input(Gamepad &pad);
fy14lkaa 133:eed60548d170 90 bool isAlive();
fy14lkaa 133:eed60548d170 91 void setAlive(bool alive);
fy14lkaa 133:eed60548d170 92
fy14lkaa 92:8a1b14488ca5 93
fy14lkaa 28:4786e81ce3e3 94 private:
fy14lkaa 133:eed60548d170 95 /**member variables
fy14lkaa 133:eed60548d170 96 parameters of Alien's class
fy14lkaa 133:eed60548d170 97 */
fy14lkaa 92:8a1b14488ca5 98
fy14lkaa 92:8a1b14488ca5 99
fy14lkaa 133:eed60548d170 100 /*
fy14lkaa 133:eed60548d170 101 *@param (_x_alien) a private variable of class Alien that represents the x-cooridante of the alien
fy14lkaa 133:eed60548d170 102 */
fy14lkaa 95:1b43f9c332bc 103 int _x_alien;
fy14lkaa 133:eed60548d170 104
fy14lkaa 133:eed60548d170 105 /*
fy14lkaa 133:eed60548d170 106 *@param (_y_alien)a private variable of class Alien that represents the y-cooridante of the alien
fy14lkaa 133:eed60548d170 107 */
fy14lkaa 133:eed60548d170 108
fy14lkaa 95:1b43f9c332bc 109 int _y_alien;
fy14lkaa 133:eed60548d170 110 int _alien2;
fy14lkaa 133:eed60548d170 111 /*
fy14lkaa 133:eed60548d170 112 *@param (_speed_alien)a private variable of class Alien that represents the speed of the alien
fy14lkaa 133:eed60548d170 113
fy14lkaa 133:eed60548d170 114 */
fy14lkaa 95:1b43f9c332bc 115 int _speed_alien;
fy14lkaa 133:eed60548d170 116
fy14lkaa 133:eed60548d170 117 /*@param
fy14lkaa 133:eed60548d170 118 (_score) a private variable of class Alien that representsn by alien
fy14lkaa 133:eed60548d170 119 */
fy14lkaa 133:eed60548d170 120 int _score;
fy14lkaa 133:eed60548d170 121
fy14lkaa 133:eed60548d170 122 /*@param
fy14lkaa 133:eed60548d170 123 (_alive) a private variable of class Alien that represents the Alive alien
fy14lkaa 133:eed60548d170 124 */
fy14lkaa 133:eed60548d170 125
fy14lkaa 133:eed60548d170 126 bool _alive;
fy14lkaa 133:eed60548d170 127
fy14lkaa 133:eed60548d170 128 /*@param
fy14lkaa 133:eed60548d170 129 (_direcation) a private variable of class Alien that represents of alien
fy14lkaa 133:eed60548d170 130 */
fy14lkaa 95:1b43f9c332bc 131 Direction d;
fy14lkaa 133:eed60548d170 132
fy14lkaa 133:eed60548d170 133 /*@param
fy14lkaa 133:eed60548d170 134 (_mag) float a private variable of class Alien that represents magnitude of the alien
fy14lkaa 133:eed60548d170 135 */
fy14lkaa 95:1b43f9c332bc 136 float mag;
fy14lkaa 28:4786e81ce3e3 137 };
fy14lkaa 28:4786e81ce3e3 138 #endif