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

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Thu May 09 09:27:32 2019 +0000
Revision:
145:e060e890c725
Parent:
144:0473845a4aaa
Child:
149:bd0f37008f5a
formatting the SpaceEngine.cpp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fy14lkaa 138:66befaefb27e 1
fy14lkaa 138:66befaefb27e 2 #ifndef SPACESHIP_H
fy14lkaa 138:66befaefb27e 3 #define SPACESHIP_H
fy14lkaa 138:66befaefb27e 4
fy14lkaa 138:66befaefb27e 5 #include "mbed.h"
fy14lkaa 138:66befaefb27e 6 #include "N5110.h"
fy14lkaa 138:66befaefb27e 7 #include "Gamepad.h"
fy14lkaa 138:66befaefb27e 8 #include "Alien.h"
fy14lkaa 138:66befaefb27e 9 #include "Bullet.h"
fy14lkaa 138:66befaefb27e 10
fy14lkaa 138:66befaefb27e 11
fy14lkaa 138:66befaefb27e 12
fy14lkaa 138:66befaefb27e 13
fy14lkaa 138:66befaefb27e 14 const int spaceship2[32][32]= {
fy14lkaa 138:66befaefb27e 15 {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,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 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,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 17 {0,0,0,0,0,0,0,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 138:66befaefb27e 18 {0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 19 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 20 {0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 21 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 22 {0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 23 {0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 24 {0,0,0,0,1,1,1,1,0,0,1,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0},
fy14lkaa 138:66befaefb27e 25 {0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0},
fy14lkaa 138:66befaefb27e 26 {0,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0},
fy14lkaa 138:66befaefb27e 27 {1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1},
fy14lkaa 138:66befaefb27e 28 {0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,1,1,0},
fy14lkaa 138:66befaefb27e 29 {0,0,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0},
fy14lkaa 138:66befaefb27e 30 {0,0,0,1,1,1,1,1,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0},
fy14lkaa 138:66befaefb27e 31 {0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
fy14lkaa 138:66befaefb27e 32 {0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 33 {0,0,0,0,0,0,0,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 138:66befaefb27e 34 {0,0,0,0,0,0,0,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 138:66befaefb27e 35 {0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 36 {0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 37 {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 38 {0,0,0,0,0,0,0,1,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 138:66befaefb27e 39 {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,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 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,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 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,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 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,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 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,0,0,0,0,0,0,0},
fy14lkaa 138:66befaefb27e 44 };
fy14lkaa 138:66befaefb27e 45
fy14lkaa 138:66befaefb27e 46
fy14lkaa 138:66befaefb27e 47
fy14lkaa 138:66befaefb27e 48 /** Spaceship class
fy14lkaa 138:66befaefb27e 49 @brief class for spaceship
fy14lkaa 138:66befaefb27e 50 @version 1.0
fy14lkaa 138:66befaefb27e 51 @author Laila Al Badwawi
fy14lkaa 138:66befaefb27e 52 @date April 2019
fy14lkaa 138:66befaefb27e 53 */
fy14lkaa 138:66befaefb27e 54
fy14lkaa 138:66befaefb27e 55 class Spaceship
fy14lkaa 138:66befaefb27e 56 {
fy14lkaa 138:66befaefb27e 57
fy14lkaa 138:66befaefb27e 58 public:
fy14lkaa 138:66befaefb27e 59
fy14lkaa 138:66befaefb27e 60 /** constructors
fy14lkaa 138:66befaefb27e 61 *string Variables of this type are able to store sequences of characters,
fy14lkaa 138:66befaefb27e 62 *such as words or sentences.
fy14lkaa 138:66befaefb27e 63 */
fy14lkaa 138:66befaefb27e 64
fy14lkaa 138:66befaefb27e 65
fy14lkaa 138:66befaefb27e 66 /*@constucter creat a defult a Spaceship
fy14lkaa 138:66befaefb27e 67 */
fy14lkaa 138:66befaefb27e 68
fy14lkaa 138:66befaefb27e 69 Spaceship();
fy14lkaa 138:66befaefb27e 70
fy14lkaa 138:66befaefb27e 71 /**
fy14lkaa 138:66befaefb27e 72 *@constucter creat a defult a spaceship
fy14lkaa 138:66befaefb27e 73 */
fy14lkaa 138:66befaefb27e 74 ~Spaceship();
fy14lkaa 138:66befaefb27e 75 /**
fy14lkaa 145:e060e890c725 76 *@brief initialise an identity for the spaceship
fy14lkaa 145:e060e890c725 77 *@param x_spaceship @details the x-cooridante of spaceship in intger
fy14lkaa 145:e060e890c725 78 *@param y_spaceship @details the y-cooridante of spaceship in integer
fy14lkaa 145:e060e890c725 79 *@param speed_spaceship @details the speed of spaceship in integer
fy14lkaa 145:e060e890c725 80 */
fy14lkaa 138:66befaefb27e 81
fy14lkaa 138:66befaefb27e 82
fy14lkaa 138:66befaefb27e 83 void init(int x_spaceship,int y_spaceship, int speed_spaceship);
fy14lkaa 138:66befaefb27e 84
fy14lkaa 138:66befaefb27e 85 /**
fy14lkaa 138:66befaefb27e 86 *@brief drawing the spaceship
fy14lkaa 138:66befaefb27e 87 *@param draw @details drawing the spaceship by using N5110&lcd librarieas
fy14lkaa 138:66befaefb27e 88 */
fy14lkaa 138:66befaefb27e 89 void draw(N5110 &lcd);
fy14lkaa 138:66befaefb27e 90 /**
fy14lkaa 138:66befaefb27e 91 *@brief updating the position of the spaceship
fy14lkaa 138:66befaefb27e 92 *@param update @details update the position of the spaceship.
fy14lkaa 138:66befaefb27e 93 */
fy14lkaa 138:66befaefb27e 94 void update(Direction d,float mag);
fy14lkaa 145:e060e890c725 95 /**
fy14lkaa 145:e060e890c725 96 *@brief setting up the position the of the spaceship
fy14lkaa 138:66befaefb27e 97 *@param set_pos @details set the position the of the spaceship in x-cooridante and y-cooridante
fy14lkaa 138:66befaefb27e 98 */
fy14lkaa 138:66befaefb27e 99 void set_pos(int x, int y);
fy14lkaa 144:0473845a4aaa 100 /**
fy14lkaa 144:0473845a4aaa 101 *@brief Gets the postion of the y-cooridante
fy14lkaa 144:0473845a4aaa 102 *@returns the position of the y-cooridante in integer which refer to the spaceship
fy14lkaa 144:0473845a4aaa 103 */
fy14lkaa 138:66befaefb27e 104 int get_pos_y();
fy14lkaa 145:e060e890c725 105 /**
fy14lkaa 145:e060e890c725 106 *@brief Gets the postion of the x-cooridante
fy14lkaa 145:e060e890c725 107 *@returns the position of the x-cooridante in integer which refer to the spaceship
fy14lkaa 145:e060e890c725 108 */
fy14lkaa 138:66befaefb27e 109 int get_pos_x();
fy14lkaa 145:e060e890c725 110 /**
fy14lkaa 145:e060e890c725 111 *@brief reading the position of the spaceship
fy14lkaa 145:e060e890c725 112 *@param _(Gamepad and pad)@details the libraries which reading the position of the spaceship in class Spaceship to detect the collisions between it and the other objects.
fy14lkaa 145:e060e890c725 113 */
fy14lkaa 138:66befaefb27e 114 void read_input(Gamepad &pad);
fy14lkaa 145:e060e890c725 115 /**
fy14lkaa 145:e060e890c725 116 *@brief adding scores of the spaceship
fy14lkaa 145:e060e890c725 117 *@param _scores @details adding scores when spaceship fired the alien.
fy14lkaa 145:e060e890c725 118 */
fy14lkaa 138:66befaefb27e 119 void add_score();
fy14lkaa 145:e060e890c725 120 /**
fy14lkaa 145:e060e890c725 121 *@brief Gets the scores of the spaceship
fy14lkaa 145:e060e890c725 122 *@returns the number of the scores of the spaceship in integer
fy14lkaa 145:e060e890c725 123 */
fy14lkaa 138:66befaefb27e 124 int get_score();
fy14lkaa 138:66befaefb27e 125
fy14lkaa 138:66befaefb27e 126
fy14lkaa 138:66befaefb27e 127 private:
fy14lkaa 138:66befaefb27e 128
fy14lkaa 145:e060e890c725 129 /**
fy14lkaa 138:66befaefb27e 130 *@param (_x_spaceship) a private variable of class Spaceship that represents the x-cooridante of the spaceship
fy14lkaa 145:e060e890c725 131 */
fy14lkaa 138:66befaefb27e 132 int _x_spaceship;
fy14lkaa 145:e060e890c725 133 /**
fy14lkaa 138:66befaefb27e 134 *@param (_x_spaceship) a private variable of class spaceship that represents the x-cooridante of the spaceship
fy14lkaa 138:66befaefb27e 135 */
fy14lkaa 138:66befaefb27e 136 int _y_spaceship;
fy14lkaa 138:66befaefb27e 137
fy14lkaa 145:e060e890c725 138 /**
fy14lkaa 138:66befaefb27e 139 *@param (_speed_spaceship) declation of a variable private member which shows the speed of the spaceship.
fy14lkaa 138:66befaefb27e 140 */
fy14lkaa 138:66befaefb27e 141
fy14lkaa 138:66befaefb27e 142 int _speed_spaceship;
fy14lkaa 138:66befaefb27e 143
fy14lkaa 145:e060e890c725 144 /**
fy14lkaa 145:e060e890c725 145 *@param (_spaceship2)a private variable of class Spaceship used for drawing the spaceship in sprite.
fy14lkaa 145:e060e890c725 146 */
fy14lkaa 138:66befaefb27e 147 int _spaceship2;
fy14lkaa 145:e060e890c725 148 /**
fy14lkaa 145:e060e890c725 149 *@param (_score) a private variable of class Spaceship that represent the scores of the spaceship.
fy14lkaa 145:e060e890c725 150 */
fy14lkaa 138:66befaefb27e 151 int _score;
fy14lkaa 138:66befaefb27e 152
fy14lkaa 145:e060e890c725 153 /**
fy14lkaa 145:e060e890c725 154 *@param(_direcation) a private variable of class spaceship that represents of spaceship
fy14lkaa 145:e060e890c725 155 */
fy14lkaa 138:66befaefb27e 156 Direction d;
fy14lkaa 145:e060e890c725 157 /*@param
fy14lkaa 145:e060e890c725 158 (_mag) float a private variable of class spaceship that represents magnitude of the spaceship
fy14lkaa 145:e060e890c725 159 */
fy14lkaa 138:66befaefb27e 160 float mag;
fy14lkaa 138:66befaefb27e 161 };
fy14lkaa 138:66befaefb27e 162 #endif