LAME
Dependencies: mbed 4DGL-uLCD-SE SDFileSystem PinDetect
Alien.cpp@5:05f7a84d0078, 2022-05-01 (annotated)
- Committer:
- kmillion3
- Date:
- Sun May 01 22:17:57 2022 +0000
- Revision:
- 5:05f7a84d0078
LAME;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kmillion3 | 5:05f7a84d0078 | 1 | #include "Alien.h" |
kmillion3 | 5:05f7a84d0078 | 2 | #include "uLCD_4DGL.h" |
kmillion3 | 5:05f7a84d0078 | 3 | #include "MMA8452.h" |
kmillion3 | 5:05f7a84d0078 | 4 | |
kmillion3 | 5:05f7a84d0078 | 5 | #define ALIEN_HEIGHT 8 |
kmillion3 | 5:05f7a84d0078 | 6 | #define ALIEN_WIDTH 11 |
kmillion3 | 5:05f7a84d0078 | 7 | #define _ 0x000000 //BLACK |
kmillion3 | 5:05f7a84d0078 | 8 | #define X 0xFFFFFF //WHITE |
kmillion3 | 5:05f7a84d0078 | 9 | |
kmillion3 | 5:05f7a84d0078 | 10 | |
kmillion3 | 5:05f7a84d0078 | 11 | //Spite implementation for all of the aliens |
kmillion3 | 5:05f7a84d0078 | 12 | int alienBobDown_sprite[ALIEN_HEIGHT * ALIEN_WIDTH] = { |
kmillion3 | 5:05f7a84d0078 | 13 | _,_,X,_,_,_,_,_,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 14 | _,_,_,X,_,_,_,X,_,_,_, |
kmillion3 | 5:05f7a84d0078 | 15 | _,_,X,X,X,X,X,X,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 16 | _,X,X,_,X,X,X,_,X,X,_, |
kmillion3 | 5:05f7a84d0078 | 17 | X,X,X,X,X,X,X,X,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 18 | X,_,X,X,X,X,X,X,X,_,X, |
kmillion3 | 5:05f7a84d0078 | 19 | X,_,X,_,_,_,_,_,X,_,X, |
kmillion3 | 5:05f7a84d0078 | 20 | _,_,_,X,X,_,X,X,_,_,_, |
kmillion3 | 5:05f7a84d0078 | 21 | }; |
kmillion3 | 5:05f7a84d0078 | 22 | |
kmillion3 | 5:05f7a84d0078 | 23 | int alienBobUp_sprite[ALIEN_HEIGHT * ALIEN_WIDTH] = { |
kmillion3 | 5:05f7a84d0078 | 24 | _,_,X,_,_,_,_,_,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 25 | X,_,_,X,_,_,_,X,_,_,X, |
kmillion3 | 5:05f7a84d0078 | 26 | X,_,X,X,X,X,X,X,X,_,X, |
kmillion3 | 5:05f7a84d0078 | 27 | X,X,X,_,X,X,X,_,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 28 | X,X,X,X,X,X,X,X,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 29 | _,_,X,X,X,X,X,X,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 30 | _,_,X,_,_,_,_,_,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 31 | _,X,_,_,_,_,_,_,_,X,_, |
kmillion3 | 5:05f7a84d0078 | 32 | }; |
kmillion3 | 5:05f7a84d0078 | 33 | |
kmillion3 | 5:05f7a84d0078 | 34 | int alienAlice_sprite[ALIEN_HEIGHT * ALIEN_WIDTH] = { |
kmillion3 | 5:05f7a84d0078 | 35 | _,_,_,_,X,X,X,_,_,_,_, |
kmillion3 | 5:05f7a84d0078 | 36 | _,X,X,X,X,X,X,X,X,X,_, |
kmillion3 | 5:05f7a84d0078 | 37 | X,X,X,X,X,X,X,X,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 38 | X,X,X,_,_,X,_,_,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 39 | X,X,X,X,X,X,X,X,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 40 | _,_,_,X,X,_,X,X,_,_,_, |
kmillion3 | 5:05f7a84d0078 | 41 | _,_,X,X,_,_,_,X,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 42 | X,X,_,_,_,X,_,_,_,X,X, |
kmillion3 | 5:05f7a84d0078 | 43 | }; |
kmillion3 | 5:05f7a84d0078 | 44 | |
kmillion3 | 5:05f7a84d0078 | 45 | int alienOne_sprite[ALIEN_HEIGHT * ALIEN_WIDTH] = { |
kmillion3 | 5:05f7a84d0078 | 46 | _,_,_,_,_,X,_,_,_,_,_, |
kmillion3 | 5:05f7a84d0078 | 47 | _,_,_,X,X,X,X,X,_,_,_, |
kmillion3 | 5:05f7a84d0078 | 48 | _,_,X,X,X,X,X,X,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 49 | X,X,X,_,X,X,X,_,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 50 | X,X,X,X,X,X,X,X,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 51 | _,_,_,X,X,X,X,X,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 52 | _,_,X,X,X,X,X,X,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 53 | X,X,_,_,X,X,X,_,_,X,X, |
kmillion3 | 5:05f7a84d0078 | 54 | }; |
kmillion3 | 5:05f7a84d0078 | 55 | |
kmillion3 | 5:05f7a84d0078 | 56 | int alienTwo_sprite[ALIEN_HEIGHT * ALIEN_WIDTH] = { |
kmillion3 | 5:05f7a84d0078 | 57 | _,_,_,X,X,X,X,X,_,_,_, |
kmillion3 | 5:05f7a84d0078 | 58 | _,_,X,X,X,X,X,X,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 59 | _,X,X,X,X,X,X,X,X,X,_, |
kmillion3 | 5:05f7a84d0078 | 60 | X,X,X,_,_,X,_,_,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 61 | X,X,X,X,X,X,X,X,X,X,X, |
kmillion3 | 5:05f7a84d0078 | 62 | _,X,X,X,X,X,X,X,X,X,_, |
kmillion3 | 5:05f7a84d0078 | 63 | _,_,X,X,X,X,X,X,X,_,_, |
kmillion3 | 5:05f7a84d0078 | 64 | X,X,_,_,_,X,_,_,_,X,X, |
kmillion3 | 5:05f7a84d0078 | 65 | }; |
kmillion3 | 5:05f7a84d0078 | 66 | |
kmillion3 | 5:05f7a84d0078 | 67 | |
kmillion3 | 5:05f7a84d0078 | 68 | //Creation of LCD object |
kmillion3 | 5:05f7a84d0078 | 69 | uLCD_4DGL uLCD(p9, p10, p11); |
kmillion3 | 5:05f7a84d0078 | 70 | |
kmillion3 | 5:05f7a84d0078 | 71 | //Accelerometer setup |
kmillion3 | 5:05f7a84d0078 | 72 | Serial pc(USBTX,USBRX); |
kmillion3 | 5:05f7a84d0078 | 73 | MMA8452 acc(p28, p27, 40000); |
kmillion3 | 5:05f7a84d0078 | 74 | |
kmillion3 | 5:05f7a84d0078 | 75 | void AlienAlice::draw() |
kmillion3 | 5:05f7a84d0078 | 76 | { |
kmillion3 | 5:05f7a84d0078 | 77 | uLCD.BLIT(posAliceAlienX, posAliceAlienY, ALIEN_WIDTH, ALIEN_HEIGHT, alienAlice_sprite); //Draws the alien on the LCD |
kmillion3 | 5:05f7a84d0078 | 78 | } |
kmillion3 | 5:05f7a84d0078 | 79 | |
kmillion3 | 5:05f7a84d0078 | 80 | //Updates the position of the alien and calls the draw function |
kmillion3 | 5:05f7a84d0078 | 81 | void AlienAlice::update(int posX) |
kmillion3 | 5:05f7a84d0078 | 82 | { |
kmillion3 | 5:05f7a84d0078 | 83 | posX += 2; |
kmillion3 | 5:05f7a84d0078 | 84 | if ((posAliceAlienX + posX) > 100) |
kmillion3 | 5:05f7a84d0078 | 85 | left = true; |
kmillion3 | 5:05f7a84d0078 | 86 | |
kmillion3 | 5:05f7a84d0078 | 87 | if(left == false) |
kmillion3 | 5:05f7a84d0078 | 88 | posAliceAlienX += posX; |
kmillion3 | 5:05f7a84d0078 | 89 | else { |
kmillion3 | 5:05f7a84d0078 | 90 | posAliceAlienX -= posX; |
kmillion3 | 5:05f7a84d0078 | 91 | if (posAliceAlienX < 20) |
kmillion3 | 5:05f7a84d0078 | 92 | left = false; |
kmillion3 | 5:05f7a84d0078 | 93 | } |
kmillion3 | 5:05f7a84d0078 | 94 | draw(); |
kmillion3 | 5:05f7a84d0078 | 95 | } |
kmillion3 | 5:05f7a84d0078 | 96 | |
kmillion3 | 5:05f7a84d0078 | 97 | //Clears the alien from the LCD |
kmillion3 | 5:05f7a84d0078 | 98 | void AlienAlice::clear() |
kmillion3 | 5:05f7a84d0078 | 99 | { |
kmillion3 | 5:05f7a84d0078 | 100 | uLCD.filled_rectangle(posAliceAlienX, (posAliceAlienY), posAliceAlienX+12, posAliceAlienY+8, BLACK); |
kmillion3 | 5:05f7a84d0078 | 101 | wait(.02); |
kmillion3 | 5:05f7a84d0078 | 102 | } |
kmillion3 | 5:05f7a84d0078 | 103 | |
kmillion3 | 5:05f7a84d0078 | 104 | //Draws Alien One |
kmillion3 | 5:05f7a84d0078 | 105 | void AlienOne::draw() |
kmillion3 | 5:05f7a84d0078 | 106 | { |
kmillion3 | 5:05f7a84d0078 | 107 | uLCD.BLIT(posOneAlienX, posOneAlienY, ALIEN_WIDTH, ALIEN_HEIGHT, alienOne_sprite); |
kmillion3 | 5:05f7a84d0078 | 108 | } |
kmillion3 | 5:05f7a84d0078 | 109 | |
kmillion3 | 5:05f7a84d0078 | 110 | //Updates the position of Alien One and calls draw |
kmillion3 | 5:05f7a84d0078 | 111 | void AlienOne::update(int posX) |
kmillion3 | 5:05f7a84d0078 | 112 | { |
kmillion3 | 5:05f7a84d0078 | 113 | if ((posOneAlienX + posX) > 100) |
kmillion3 | 5:05f7a84d0078 | 114 | left = true; |
kmillion3 | 5:05f7a84d0078 | 115 | |
kmillion3 | 5:05f7a84d0078 | 116 | if(left == false) |
kmillion3 | 5:05f7a84d0078 | 117 | posOneAlienX += posX; |
kmillion3 | 5:05f7a84d0078 | 118 | else { |
kmillion3 | 5:05f7a84d0078 | 119 | posOneAlienX -= posX; |
kmillion3 | 5:05f7a84d0078 | 120 | if (posOneAlienX < 20) |
kmillion3 | 5:05f7a84d0078 | 121 | left = false; |
kmillion3 | 5:05f7a84d0078 | 122 | } |
kmillion3 | 5:05f7a84d0078 | 123 | draw(); |
kmillion3 | 5:05f7a84d0078 | 124 | } |
kmillion3 | 5:05f7a84d0078 | 125 | |
kmillion3 | 5:05f7a84d0078 | 126 | //Clears alien One from the LCD |
kmillion3 | 5:05f7a84d0078 | 127 | void AlienOne::clear() |
kmillion3 | 5:05f7a84d0078 | 128 | { |
kmillion3 | 5:05f7a84d0078 | 129 | uLCD.filled_rectangle(posOneAlienX, (posOneAlienY), posOneAlienX+12, posOneAlienY+12, BLACK); |
kmillion3 | 5:05f7a84d0078 | 130 | wait(.02); |
kmillion3 | 5:05f7a84d0078 | 131 | } |
kmillion3 | 5:05f7a84d0078 | 132 | |
kmillion3 | 5:05f7a84d0078 | 133 | //Draws Alien Two |
kmillion3 | 5:05f7a84d0078 | 134 | void AlienTwo::draw() |
kmillion3 | 5:05f7a84d0078 | 135 | { |
kmillion3 | 5:05f7a84d0078 | 136 | uLCD.BLIT(posTwoAlienX, posTwoAlienY, ALIEN_WIDTH, ALIEN_HEIGHT, alienTwo_sprite); |
kmillion3 | 5:05f7a84d0078 | 137 | } |
kmillion3 | 5:05f7a84d0078 | 138 | |
kmillion3 | 5:05f7a84d0078 | 139 | //Updates the position of Alien Two and calls draw |
kmillion3 | 5:05f7a84d0078 | 140 | void AlienTwo::update(int posX) |
kmillion3 | 5:05f7a84d0078 | 141 | { |
kmillion3 | 5:05f7a84d0078 | 142 | if ((posTwoAlienX + posX) > 100) |
kmillion3 | 5:05f7a84d0078 | 143 | left = true; |
kmillion3 | 5:05f7a84d0078 | 144 | |
kmillion3 | 5:05f7a84d0078 | 145 | if(left == false) |
kmillion3 | 5:05f7a84d0078 | 146 | posTwoAlienX += posX; |
kmillion3 | 5:05f7a84d0078 | 147 | else { |
kmillion3 | 5:05f7a84d0078 | 148 | posTwoAlienX -= posX; |
kmillion3 | 5:05f7a84d0078 | 149 | if (posTwoAlienX < 20) |
kmillion3 | 5:05f7a84d0078 | 150 | left = false; |
kmillion3 | 5:05f7a84d0078 | 151 | } |
kmillion3 | 5:05f7a84d0078 | 152 | draw(); |
kmillion3 | 5:05f7a84d0078 | 153 | } |
kmillion3 | 5:05f7a84d0078 | 154 | |
kmillion3 | 5:05f7a84d0078 | 155 | //Clears Alien Two from the Screen |
kmillion3 | 5:05f7a84d0078 | 156 | void AlienTwo::clear() |
kmillion3 | 5:05f7a84d0078 | 157 | { |
kmillion3 | 5:05f7a84d0078 | 158 | uLCD.filled_rectangle(posTwoAlienX, (posTwoAlienY), posTwoAlienX+12, posTwoAlienY+12, BLACK); |
kmillion3 | 5:05f7a84d0078 | 159 | wait(.02); |
kmillion3 | 5:05f7a84d0078 | 160 | } |
kmillion3 | 5:05f7a84d0078 | 161 | |
kmillion3 | 5:05f7a84d0078 | 162 | //Calculates time spent playing game and displays it |
kmillion3 | 5:05f7a84d0078 | 163 | void ScreenObject::end(int endTime) |
kmillion3 | 5:05f7a84d0078 | 164 | { |
kmillion3 | 5:05f7a84d0078 | 165 | uLCD.printf("\n\n\n\n Congratulations!!\n\n Earth Saved!\n\n\n (%d Seconds)",endTime); |
kmillion3 | 5:05f7a84d0078 | 166 | } |
kmillion3 | 5:05f7a84d0078 | 167 | |
kmillion3 | 5:05f7a84d0078 | 168 | //Initializes LCD |
kmillion3 | 5:05f7a84d0078 | 169 | void ScreenObject::initialize() |
kmillion3 | 5:05f7a84d0078 | 170 | { |
kmillion3 | 5:05f7a84d0078 | 171 | uLCD.baudrate(300000); |
kmillion3 | 5:05f7a84d0078 | 172 | wait(0.3); |
kmillion3 | 5:05f7a84d0078 | 173 | } |
kmillion3 | 5:05f7a84d0078 | 174 | |
kmillion3 | 5:05f7a84d0078 | 175 | //Clears the Bob alien from the LCD |
kmillion3 | 5:05f7a84d0078 | 176 | void AlienBob::clear() |
kmillion3 | 5:05f7a84d0078 | 177 | { |
kmillion3 | 5:05f7a84d0078 | 178 | //wait(.1); |
kmillion3 | 5:05f7a84d0078 | 179 | uLCD.filled_rectangle(posBobAlienX, (posBobAlienY), posBobAlienX+12, (posBobAlienY+12), BLACK); |
kmillion3 | 5:05f7a84d0078 | 180 | wait(.02); |
kmillion3 | 5:05f7a84d0078 | 181 | } |
kmillion3 | 5:05f7a84d0078 | 182 | |
kmillion3 | 5:05f7a84d0078 | 183 | //Draws the Bob alien |
kmillion3 | 5:05f7a84d0078 | 184 | void AlienBob::draw() |
kmillion3 | 5:05f7a84d0078 | 185 | { |
kmillion3 | 5:05f7a84d0078 | 186 | if(upDown == true) |
kmillion3 | 5:05f7a84d0078 | 187 | uLCD.BLIT(posBobAlienX, posBobAlienY, ALIEN_WIDTH, ALIEN_HEIGHT, alienBobUp_sprite); |
kmillion3 | 5:05f7a84d0078 | 188 | else |
kmillion3 | 5:05f7a84d0078 | 189 | uLCD.BLIT(posBobAlienX, posBobAlienY, ALIEN_WIDTH, ALIEN_HEIGHT, alienBobDown_sprite); |
kmillion3 | 5:05f7a84d0078 | 190 | } |
kmillion3 | 5:05f7a84d0078 | 191 | |
kmillion3 | 5:05f7a84d0078 | 192 | //Updates the position of the Bob alien on the LCD |
kmillion3 | 5:05f7a84d0078 | 193 | void AlienBob::update(int posX) |
kmillion3 | 5:05f7a84d0078 | 194 | { |
kmillion3 | 5:05f7a84d0078 | 195 | if (upDown == false) { |
kmillion3 | 5:05f7a84d0078 | 196 | upDown = true; |
kmillion3 | 5:05f7a84d0078 | 197 | } else { |
kmillion3 | 5:05f7a84d0078 | 198 | upDown = false; |
kmillion3 | 5:05f7a84d0078 | 199 | } |
kmillion3 | 5:05f7a84d0078 | 200 | |
kmillion3 | 5:05f7a84d0078 | 201 | if ((posBobAlienX + posX) > 100) |
kmillion3 | 5:05f7a84d0078 | 202 | left = true; |
kmillion3 | 5:05f7a84d0078 | 203 | |
kmillion3 | 5:05f7a84d0078 | 204 | if(left == false) |
kmillion3 | 5:05f7a84d0078 | 205 | posBobAlienX += posX; |
kmillion3 | 5:05f7a84d0078 | 206 | else { |
kmillion3 | 5:05f7a84d0078 | 207 | posBobAlienX -= posX; |
kmillion3 | 5:05f7a84d0078 | 208 | if (posBobAlienX < 20) |
kmillion3 | 5:05f7a84d0078 | 209 | left = false; |
kmillion3 | 5:05f7a84d0078 | 210 | } |
kmillion3 | 5:05f7a84d0078 | 211 | //posBobAlienY = posY; |
kmillion3 | 5:05f7a84d0078 | 212 | draw(); |
kmillion3 | 5:05f7a84d0078 | 213 | } |
kmillion3 | 5:05f7a84d0078 | 214 | |
kmillion3 | 5:05f7a84d0078 | 215 | //Draw the ship on the LCD |
kmillion3 | 5:05f7a84d0078 | 216 | void Ship::draw() |
kmillion3 | 5:05f7a84d0078 | 217 | { |
kmillion3 | 5:05f7a84d0078 | 218 | uLCD.filled_rectangle(posShipX, posShipY + 10, posShipX + 25, posShipY, WHITE); |
kmillion3 | 5:05f7a84d0078 | 219 | } |
kmillion3 | 5:05f7a84d0078 | 220 | |
kmillion3 | 5:05f7a84d0078 | 221 | //Updates the position of the ship based on accelerometer data and calls draw |
kmillion3 | 5:05f7a84d0078 | 222 | void Ship::update(int posX) |
kmillion3 | 5:05f7a84d0078 | 223 | { |
kmillion3 | 5:05f7a84d0078 | 224 | |
kmillion3 | 5:05f7a84d0078 | 225 | double x; |
kmillion3 | 5:05f7a84d0078 | 226 | double y; |
kmillion3 | 5:05f7a84d0078 | 227 | double z; |
kmillion3 | 5:05f7a84d0078 | 228 | acc.setBitDepth(MMA8452::BIT_DEPTH_12); |
kmillion3 | 5:05f7a84d0078 | 229 | acc.setDynamicRange(MMA8452::DYNAMIC_RANGE_4G); |
kmillion3 | 5:05f7a84d0078 | 230 | acc.setDataRate(MMA8452::RATE_100); |
kmillion3 | 5:05f7a84d0078 | 231 | while(!acc.isXYZReady()) { |
kmillion3 | 5:05f7a84d0078 | 232 | wait(.02); |
kmillion3 | 5:05f7a84d0078 | 233 | } |
kmillion3 | 5:05f7a84d0078 | 234 | acc.readXYZGravity(&x,&y,&z); |
kmillion3 | 5:05f7a84d0078 | 235 | if(x > 0.5) { |
kmillion3 | 5:05f7a84d0078 | 236 | if((posShipX < 105)) { |
kmillion3 | 5:05f7a84d0078 | 237 | posShipX += 4; |
kmillion3 | 5:05f7a84d0078 | 238 | } |
kmillion3 | 5:05f7a84d0078 | 239 | } else if(x < -0.5) { |
kmillion3 | 5:05f7a84d0078 | 240 | if((posShipX > 5)) { |
kmillion3 | 5:05f7a84d0078 | 241 | posShipX -= 4; |
kmillion3 | 5:05f7a84d0078 | 242 | } |
kmillion3 | 5:05f7a84d0078 | 243 | } |
kmillion3 | 5:05f7a84d0078 | 244 | draw(); |
kmillion3 | 5:05f7a84d0078 | 245 | } |
kmillion3 | 5:05f7a84d0078 | 246 | |
kmillion3 | 5:05f7a84d0078 | 247 | int Ship::getPosX() |
kmillion3 | 5:05f7a84d0078 | 248 | { |
kmillion3 | 5:05f7a84d0078 | 249 | return(posShipX); |
kmillion3 | 5:05f7a84d0078 | 250 | } |
kmillion3 | 5:05f7a84d0078 | 251 | |
kmillion3 | 5:05f7a84d0078 | 252 | //Clears the ship from the LCD |
kmillion3 | 5:05f7a84d0078 | 253 | void Ship::clear() |
kmillion3 | 5:05f7a84d0078 | 254 | { |
kmillion3 | 5:05f7a84d0078 | 255 | uLCD.filled_rectangle(posShipX, posShipY + 10, posShipX + 25, posShipY, BLACK); |
kmillion3 | 5:05f7a84d0078 | 256 | } |
kmillion3 | 5:05f7a84d0078 | 257 | |
kmillion3 | 5:05f7a84d0078 | 258 | //Clears the bullet from the LCD |
kmillion3 | 5:05f7a84d0078 | 259 | void Bullet::clear() |
kmillion3 | 5:05f7a84d0078 | 260 | { |
kmillion3 | 5:05f7a84d0078 | 261 | uLCD.filled_rectangle(posBulletX + 10, posBulletY, posBulletX + 15, posBulletY - 8, BLACK); |
kmillion3 | 5:05f7a84d0078 | 262 | } |
kmillion3 | 5:05f7a84d0078 | 263 | |
kmillion3 | 5:05f7a84d0078 | 264 | //Updates the Bullet's position and calls draw if not off the screen |
kmillion3 | 5:05f7a84d0078 | 265 | void Bullet::update(int posX) |
kmillion3 | 5:05f7a84d0078 | 266 | { |
kmillion3 | 5:05f7a84d0078 | 267 | posBulletY -= 5; |
kmillion3 | 5:05f7a84d0078 | 268 | if(posBulletY < 0) |
kmillion3 | 5:05f7a84d0078 | 269 | clear(); |
kmillion3 | 5:05f7a84d0078 | 270 | else |
kmillion3 | 5:05f7a84d0078 | 271 | draw(); |
kmillion3 | 5:05f7a84d0078 | 272 | } |
kmillion3 | 5:05f7a84d0078 | 273 | |
kmillion3 | 5:05f7a84d0078 | 274 | //Draws the bullet |
kmillion3 | 5:05f7a84d0078 | 275 | void Bullet::draw() |
kmillion3 | 5:05f7a84d0078 | 276 | { |
kmillion3 | 5:05f7a84d0078 | 277 | uLCD.filled_rectangle(posBulletX + 10, posBulletY, posBulletX + 15, posBulletY - 8, WHITE); |
kmillion3 | 5:05f7a84d0078 | 278 | } |