LAME

Dependencies:   mbed 4DGL-uLCD-SE SDFileSystem PinDetect

Committer:
kmillion3
Date:
Sun May 01 22:17:57 2022 +0000
Revision:
5:05f7a84d0078
LAME;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kmillion3 5:05f7a84d0078 1 #ifndef ALIEN
kmillion3 5:05f7a84d0078 2 #define ALIEN
kmillion3 5:05f7a84d0078 3
kmillion3 5:05f7a84d0078 4 #include "mbed.h"
kmillion3 5:05f7a84d0078 5
kmillion3 5:05f7a84d0078 6 //Base class all graphical objects derive from
kmillion3 5:05f7a84d0078 7 class ScreenObject
kmillion3 5:05f7a84d0078 8 {
kmillion3 5:05f7a84d0078 9 public:
kmillion3 5:05f7a84d0078 10 virtual void draw() = 0;
kmillion3 5:05f7a84d0078 11 virtual void update(int) = 0;
kmillion3 5:05f7a84d0078 12 virtual void clear() = 0;
kmillion3 5:05f7a84d0078 13 virtual int getPosX() = 0;
kmillion3 5:05f7a84d0078 14 virtual int getPosY() = 0;
kmillion3 5:05f7a84d0078 15 int getNumAliens() {return(numAliens);};
kmillion3 5:05f7a84d0078 16 void setNumAliens(int num) {numAliens = num;};
kmillion3 5:05f7a84d0078 17 void initialize();
kmillion3 5:05f7a84d0078 18 void end(int endTime);
kmillion3 5:05f7a84d0078 19
kmillion3 5:05f7a84d0078 20 private:
kmillion3 5:05f7a84d0078 21 int numAliens;
kmillion3 5:05f7a84d0078 22 };
kmillion3 5:05f7a84d0078 23
kmillion3 5:05f7a84d0078 24 //Class for the Alice Alien
kmillion3 5:05f7a84d0078 25 class AlienAlice: public ScreenObject
kmillion3 5:05f7a84d0078 26 {
kmillion3 5:05f7a84d0078 27 public:
kmillion3 5:05f7a84d0078 28 AlienAlice() {posAliceAlienX = 0; posAliceAlienY = 0;};
kmillion3 5:05f7a84d0078 29 AlienAlice(int posX, int posY) {posAliceAlienX = posX; posAliceAlienY = posY; left = false;};
kmillion3 5:05f7a84d0078 30 void draw();
kmillion3 5:05f7a84d0078 31 void update(int);
kmillion3 5:05f7a84d0078 32 void clear();
kmillion3 5:05f7a84d0078 33 int getPosX() {return(posAliceAlienX);};
kmillion3 5:05f7a84d0078 34 int getPosY() {return(posAliceAlienY);};
kmillion3 5:05f7a84d0078 35 private:
kmillion3 5:05f7a84d0078 36 int posAliceAlienX;
kmillion3 5:05f7a84d0078 37 int posAliceAlienY;
kmillion3 5:05f7a84d0078 38 bool left;
kmillion3 5:05f7a84d0078 39 };
kmillion3 5:05f7a84d0078 40
kmillion3 5:05f7a84d0078 41 //Class for the first added alien
kmillion3 5:05f7a84d0078 42 class AlienOne: public ScreenObject
kmillion3 5:05f7a84d0078 43 {
kmillion3 5:05f7a84d0078 44 public:
kmillion3 5:05f7a84d0078 45 AlienOne() {posOneAlienX = 0; posOneAlienY = 0;};
kmillion3 5:05f7a84d0078 46 AlienOne(int posX, int posY) {posOneAlienX = posX; posOneAlienY = posY; left = false;};
kmillion3 5:05f7a84d0078 47 void draw();
kmillion3 5:05f7a84d0078 48 void update(int);
kmillion3 5:05f7a84d0078 49 void clear();
kmillion3 5:05f7a84d0078 50 int getPosX() {return(posOneAlienX);};
kmillion3 5:05f7a84d0078 51 int getPosY() {return(posOneAlienY);};
kmillion3 5:05f7a84d0078 52 private:
kmillion3 5:05f7a84d0078 53 int posOneAlienX;
kmillion3 5:05f7a84d0078 54 int posOneAlienY;
kmillion3 5:05f7a84d0078 55 bool left;
kmillion3 5:05f7a84d0078 56 };
kmillion3 5:05f7a84d0078 57
kmillion3 5:05f7a84d0078 58
kmillion3 5:05f7a84d0078 59 //Class for the second added alien
kmillion3 5:05f7a84d0078 60 class AlienTwo: public ScreenObject
kmillion3 5:05f7a84d0078 61 {
kmillion3 5:05f7a84d0078 62 public:
kmillion3 5:05f7a84d0078 63 AlienTwo() {posTwoAlienX = 0; posTwoAlienY = 0;};
kmillion3 5:05f7a84d0078 64 AlienTwo(int posX, int posY) {posTwoAlienX = posX; posTwoAlienY = posY; left = false;};
kmillion3 5:05f7a84d0078 65 void draw();
kmillion3 5:05f7a84d0078 66 void update(int);
kmillion3 5:05f7a84d0078 67 void clear();
kmillion3 5:05f7a84d0078 68 int getPosX() {return(posTwoAlienX);};
kmillion3 5:05f7a84d0078 69 int getPosY() {return(posTwoAlienY);};
kmillion3 5:05f7a84d0078 70 private:
kmillion3 5:05f7a84d0078 71 int posTwoAlienX;
kmillion3 5:05f7a84d0078 72 int posTwoAlienY;
kmillion3 5:05f7a84d0078 73 bool left;
kmillion3 5:05f7a84d0078 74 };
kmillion3 5:05f7a84d0078 75
kmillion3 5:05f7a84d0078 76
kmillion3 5:05f7a84d0078 77 //Class for the first Alien Bob
kmillion3 5:05f7a84d0078 78 class AlienBob: public ScreenObject
kmillion3 5:05f7a84d0078 79 {
kmillion3 5:05f7a84d0078 80 public:
kmillion3 5:05f7a84d0078 81 AlienBob() {posBobAlienX = 0; posBobAlienY = 0;}
kmillion3 5:05f7a84d0078 82 AlienBob(int posX, int posY) {posBobAlienX = posX; posBobAlienY = posY; upDown = false; left = false;};
kmillion3 5:05f7a84d0078 83 void draw();
kmillion3 5:05f7a84d0078 84 void update(int);
kmillion3 5:05f7a84d0078 85 void clear();
kmillion3 5:05f7a84d0078 86 int getPosX() {return(posBobAlienX);}
kmillion3 5:05f7a84d0078 87 int getPosY() {return(posBobAlienY);};
kmillion3 5:05f7a84d0078 88 private:
kmillion3 5:05f7a84d0078 89 int posBobAlienX;
kmillion3 5:05f7a84d0078 90 int posBobAlienY;
kmillion3 5:05f7a84d0078 91 bool upDown;
kmillion3 5:05f7a84d0078 92 bool left;
kmillion3 5:05f7a84d0078 93 };
kmillion3 5:05f7a84d0078 94
kmillion3 5:05f7a84d0078 95 //Class for the ship object
kmillion3 5:05f7a84d0078 96 class Ship: public ScreenObject
kmillion3 5:05f7a84d0078 97 {
kmillion3 5:05f7a84d0078 98 public:
kmillion3 5:05f7a84d0078 99 Ship(int) {posShipX = 50; posShipY = 120;};
kmillion3 5:05f7a84d0078 100 void draw();
kmillion3 5:05f7a84d0078 101 void update(int);
kmillion3 5:05f7a84d0078 102 void clear();
kmillion3 5:05f7a84d0078 103 int getPosX();
kmillion3 5:05f7a84d0078 104 int getPosY() {return(posShipY);};
kmillion3 5:05f7a84d0078 105 private:
kmillion3 5:05f7a84d0078 106 int posShipX;
kmillion3 5:05f7a84d0078 107 int posShipY;
kmillion3 5:05f7a84d0078 108 };
kmillion3 5:05f7a84d0078 109
kmillion3 5:05f7a84d0078 110 //Class for the bullet shot from the ship
kmillion3 5:05f7a84d0078 111 class Bullet: public ScreenObject
kmillion3 5:05f7a84d0078 112 {
kmillion3 5:05f7a84d0078 113 public:
kmillion3 5:05f7a84d0078 114 Bullet(int posX, int posY) {posBulletX = posX; posBulletY = posY;};
kmillion3 5:05f7a84d0078 115 void draw();
kmillion3 5:05f7a84d0078 116 void update(int);
kmillion3 5:05f7a84d0078 117 void clear();
kmillion3 5:05f7a84d0078 118 int getPosX() {return(posBulletX);};
kmillion3 5:05f7a84d0078 119 int getPosY() {return(posBulletY);};
kmillion3 5:05f7a84d0078 120 private:
kmillion3 5:05f7a84d0078 121 int posBulletX;
kmillion3 5:05f7a84d0078 122 int posBulletY;
kmillion3 5:05f7a84d0078 123 bool isBullet;
kmillion3 5:05f7a84d0078 124 bool addBullet;
kmillion3 5:05f7a84d0078 125 };
kmillion3 5:05f7a84d0078 126
kmillion3 5:05f7a84d0078 127 #endif