ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Wed Apr 17 19:57:33 2019 +0000
Revision:
44:e29458976114
Parent:
43:1ec6b6293c6b
Child:
45:bad704c546d4
Fixed problem with enemy positions not updating on level complete.All levels implemented and complete game screen added, just needs play testing to ensure no bugs

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 42:d81c008b0436 1 #include "Levels.h"
el17arm 18:ff0a53dcb862 2
el17arm 42:d81c008b0436 3 Levels::Levels()
el17arm 18:ff0a53dcb862 4 {
el17arm 18:ff0a53dcb862 5 }
el17arm 18:ff0a53dcb862 6
el17arm 42:d81c008b0436 7 Levels::~Levels()
el17arm 18:ff0a53dcb862 8 {
el17arm 18:ff0a53dcb862 9 }
el17arm 18:ff0a53dcb862 10
el17arm 42:d81c008b0436 11 void Levels::level_platforms1(N5110 &lcd)
el17arm 18:ff0a53dcb862 12 {
el17arm 20:78bd235f8caa 13 lcd.drawLine(0,47,83,47, 1);
el17arm 26:bce40bf4c9fc 14 lcd.drawRect(11,39, 38, 2, FILL_BLACK);
el17arm 38:55bb9da08a52 15 lcd.drawRect(65,36, 30, 2, FILL_BLACK);
el17arm 42:d81c008b0436 16 lcd.drawRect(75,29, 9, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 17 lcd.drawRect(22, 25, 48, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 18 lcd.drawRect(0, 25, 12, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 19 lcd.drawRect(0, 17, 8, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 20 lcd.drawRect(0, 9, 27, 2, FILL_BLACK);
el17arm 18:ff0a53dcb862 21 lcd.drawRect(39, 9, 7, 2, FILL_BLACK);
el17arm 41:0cf320f73424 22 lcd.drawRect(53,9,32,2,FILL_BLACK);
el17arm 18:ff0a53dcb862 23 }
el17arm 18:ff0a53dcb862 24
el17arm 42:d81c008b0436 25 void Levels::trap_pos1()
el17arm 20:78bd235f8caa 26 {
el17arm 40:913339e324b8 27 trap1.tx[0] = 25;
el17arm 40:913339e324b8 28 trap1.ty[0] = 44;
el17arm 40:913339e324b8 29 trap2.tx[0] = 58;
el17arm 40:913339e324b8 30 trap2.ty[0] = 6;
el17arm 40:913339e324b8 31 trap3.tx[0] = 75;
el17arm 40:913339e324b8 32 trap3.ty[0] = 6;
el17arm 41:0cf320f73424 33 trap4.tx[0] = 0;
el17arm 41:0cf320f73424 34 trap4.ty[0] = 0;
el17arm 41:0cf320f73424 35 trap5.tx[0] = 25;
el17arm 41:0cf320f73424 36 trap5.ty[0] = 36;
el17arm 37:4d525a37d5d2 37 }
el17arm 37:4d525a37d5d2 38
el17arm 42:d81c008b0436 39 void Levels::key_pos1()
el17arm 40:913339e324b8 40 {
el17arm 40:913339e324b8 41 key1.kx[0] = 79;
el17arm 40:913339e324b8 42 key1.ky[0] = 12;
el17arm 40:913339e324b8 43 key2.kx[0] = 36;
el17arm 40:913339e324b8 44 key2.ky[0] = 22;
el17arm 40:913339e324b8 45 key3.kx[0] = 40;
el17arm 40:913339e324b8 46 key3.ky[0] = 6;
el17arm 40:913339e324b8 47 key4.kx[0] = 62;
el17arm 40:913339e324b8 48 key4.ky[0] = 6;
el17arm 40:913339e324b8 49 key5.kx[0] = 75;
el17arm 40:913339e324b8 50 key5.ky[0] = 0;
el17arm 40:913339e324b8 51 }
el17arm 40:913339e324b8 52
el17arm 42:d81c008b0436 53 void Levels::block_pos1()
el17arm 37:4d525a37d5d2 54 {
el17arm 40:913339e324b8 55 sol1.bx[0] = 49;
el17arm 40:913339e324b8 56 sol1.by[0] = 36;
el17arm 41:0cf320f73424 57
el17arm 44:e29458976114 58 sol2.bx[0] = 42;
el17arm 40:913339e324b8 59 sol2.by[0] = 22;
el17arm 40:913339e324b8 60
el17arm 41:0cf320f73424 61 sol3.bx[0] = -10;
el17arm 41:0cf320f73424 62 sol3.by[0] = -10;
el17arm 41:0cf320f73424 63
el17arm 41:0cf320f73424 64 sol4.bx[0] = -10;
el17arm 41:0cf320f73424 65 sol4.by[0] = -10;
el17arm 41:0cf320f73424 66
el17arm 41:0cf320f73424 67 sol5.bx[0] = -10;
el17arm 41:0cf320f73424 68 sol5.by[0] = -10;
el17arm 41:0cf320f73424 69 }
el17arm 41:0cf320f73424 70
el17arm 42:d81c008b0436 71 void Levels::soft_pos1()
el17arm 41:0cf320f73424 72 {
el17arm 41:0cf320f73424 73 sof1.sx1[0] = 55;
el17arm 40:913339e324b8 74 sof1.sy[0] = 36;
el17arm 41:0cf320f73424 75 sof1.sx2[0] = 65;
el17arm 40:913339e324b8 76
el17arm 44:e29458976114 77 sof2.sx1[0] = 28;
el17arm 40:913339e324b8 78 sof2.sy[0] = 9;
el17arm 41:0cf320f73424 79 sof2.sx2[0] = 39;
el17arm 41:0cf320f73424 80
el17arm 41:0cf320f73424 81 sof3.sx1[0] = 46;
el17arm 41:0cf320f73424 82 sof3.sy[0] = 9;
el17arm 41:0cf320f73424 83 sof3.sx2[0] = 52;
el17arm 40:913339e324b8 84
el17arm 41:0cf320f73424 85 sof4.sx1[0] = 0;
el17arm 41:0cf320f73424 86 sof4.sy[0] = 0;
el17arm 41:0cf320f73424 87 sof4.sx2[0] = 0;
el17arm 41:0cf320f73424 88
el17arm 41:0cf320f73424 89 sof4.sx1[0] = 0;
el17arm 41:0cf320f73424 90 sof4.sy[0] = 0;
el17arm 41:0cf320f73424 91 sof4.sx2[0] = 0;
el17arm 40:913339e324b8 92 }
el17arm 40:913339e324b8 93
el17arm 42:d81c008b0436 94 void Levels::enem_pos1()
el17arm 40:913339e324b8 95 {
el17arm 40:913339e324b8 96 enem1.ex[0] = 22;
el17arm 40:913339e324b8 97 enem1.ey[0] = 20;
el17arm 40:913339e324b8 98 enem1.d[0] = 36;
el17arm 40:913339e324b8 99 enem1.v[0] = 0.5;
el17arm 40:913339e324b8 100
el17arm 40:913339e324b8 101 enem2.ex[0] = 0;
el17arm 40:913339e324b8 102 enem2.ey[0] = 4;
el17arm 40:913339e324b8 103 enem2.d[0] = 26;
el17arm 40:913339e324b8 104 enem2.v[0] = 1;
el17arm 41:0cf320f73424 105
el17arm 42:d81c008b0436 106 enem3.ex[0] = 49;
el17arm 42:d81c008b0436 107 enem3.ey[0] = 42;
el17arm 42:d81c008b0436 108 enem3.d[0] = 27;
el17arm 42:d81c008b0436 109 enem3.v[0] = 1;
el17arm 40:913339e324b8 110 }
el17arm 40:913339e324b8 111
el17arm 42:d81c008b0436 112 void Levels::level_exits(N5110 &lcd)
el17arm 40:913339e324b8 113 {
el17arm 40:913339e324b8 114 exit1.lx[0] = 78;
el17arm 40:913339e324b8 115 exit1.ly[0] = 41;
el17arm 40:913339e324b8 116
el17arm 42:d81c008b0436 117 exit1.lx[1] = 79;
el17arm 40:913339e324b8 118 exit1.ly[1] = 41;
el17arm 41:0cf320f73424 119
el17arm 41:0cf320f73424 120 exit1.lx[2] = 70;
el17arm 41:0cf320f73424 121 exit1.ly[2] = 41;
el17arm 41:0cf320f73424 122
el17arm 41:0cf320f73424 123 exit1.lx[3] = 70;
el17arm 41:0cf320f73424 124 exit1.ly[3] = 41;
el17arm 38:55bb9da08a52 125 }
el17arm 38:55bb9da08a52 126
el17arm 42:d81c008b0436 127 void Levels::level_platforms2(N5110 &lcd)
el17arm 42:d81c008b0436 128 {
el17arm 44:e29458976114 129 lcd.drawLine(0, 47, 83, 47, 1);
el17arm 44:e29458976114 130 lcd.drawRect(4, 33, 12, 2, FILL_BLACK);
el17arm 44:e29458976114 131 lcd.drawRect(20, 41, 12, 2, FILL_BLACK);
el17arm 44:e29458976114 132 lcd.drawRect(36, 37, 12, 2, FILL_BLACK);
el17arm 44:e29458976114 133 lcd.drawRect(48, 29, 12, 2, FILL_BLACK);
el17arm 44:e29458976114 134 lcd.drawRect(20, 21, 24, 2, FILL_BLACK);
el17arm 44:e29458976114 135 lcd.drawRect(0, 10, 49, 2, FILL_BLACK);
el17arm 44:e29458976114 136 lcd.drawRect(54, 14, 12, 2, FILL_BLACK);
el17arm 44:e29458976114 137 lcd.drawRect(66, 8, 12, 2, FILL_BLACK);
el17arm 42:d81c008b0436 138
el17arm 42:d81c008b0436 139 }
el17arm 42:d81c008b0436 140 void Levels::key_pos2()
el17arm 38:55bb9da08a52 141 {
el17arm 44:e29458976114 142 key1.kx[1] = 51;
el17arm 44:e29458976114 143 key1.ky[1] = 39;
el17arm 44:e29458976114 144
el17arm 44:e29458976114 145 key2.kx[1] = 79;
el17arm 44:e29458976114 146 key2.ky[1] = 35;
el17arm 44:e29458976114 147
el17arm 44:e29458976114 148 key3.kx[1] = 72;
el17arm 44:e29458976114 149 key3.ky[1] = 23;
el17arm 44:e29458976114 150
el17arm 44:e29458976114 151 key4.kx[1] = 24;
el17arm 44:e29458976114 152 key4.ky[1] = 0;
el17arm 44:e29458976114 153
el17arm 44:e29458976114 154 key5.kx[1] = 69;
el17arm 44:e29458976114 155 key5.ky[1] = 5;
el17arm 40:913339e324b8 156 }
el17arm 40:913339e324b8 157
el17arm 42:d81c008b0436 158 void Levels::trap_pos2()
el17arm 40:913339e324b8 159 {
el17arm 44:e29458976114 160 trap1.tx[1] = 30;
el17arm 44:e29458976114 161 trap1.ty[1] = 7;
el17arm 44:e29458976114 162
el17arm 44:e29458976114 163 trap2.tx[1] = 72;
el17arm 44:e29458976114 164 trap2.ty[1] = 17;
el17arm 44:e29458976114 165
el17arm 44:e29458976114 166 trap3.tx[1] = 51;
el17arm 44:e29458976114 167 trap3.ty[1] = 44;
el17arm 44:e29458976114 168
el17arm 44:e29458976114 169 trap4.tx[1] = 42;
el17arm 44:e29458976114 170 trap4.ty[1] = 7;
el17arm 44:e29458976114 171
el17arm 44:e29458976114 172 trap5.tx[1] = 11;
el17arm 44:e29458976114 173 trap5.ty[1] = 69;
el17arm 38:55bb9da08a52 174 }
el17arm 38:55bb9da08a52 175
el17arm 42:d81c008b0436 176 void Levels::enem_pos2()
el17arm 40:913339e324b8 177 {
el17arm 44:e29458976114 178 enem1.ex[1] = 20;
el17arm 44:e29458976114 179 enem1.ey[1] = 16;
el17arm 44:e29458976114 180 enem1.d[1] = 44;
el17arm 40:913339e324b8 181 enem1.v[1] = 0.5;
el17arm 40:913339e324b8 182
el17arm 44:e29458976114 183 enem2.ex[1] = 0;
el17arm 44:e29458976114 184 enem2.ey[1] = 5;
el17arm 44:e29458976114 185 enem2.d[1] = 38;
el17arm 40:913339e324b8 186 enem2.v[1] = 1;
el17arm 44:e29458976114 187
el17arm 44:e29458976114 188 enem3.ex[1] = 54;
el17arm 44:e29458976114 189 enem3.ey[1] = 42;
el17arm 44:e29458976114 190 enem3.d[1] = 30;
el17arm 44:e29458976114 191 enem3.v[1] = 1;
el17arm 40:913339e324b8 192 }
el17arm 40:913339e324b8 193
el17arm 42:d81c008b0436 194 void Levels::block_pos2()
el17arm 38:55bb9da08a52 195 {
el17arm 42:d81c008b0436 196 sol1.bx[1] = 66;
el17arm 42:d81c008b0436 197 sol1.by[1] = 38;
el17arm 41:0cf320f73424 198
el17arm 42:d81c008b0436 199 sol2.bx[1] = 66;
el17arm 44:e29458976114 200 sol2.by[1] = 32;
el17arm 40:913339e324b8 201
el17arm 42:d81c008b0436 202 sol3.bx[1] = 66;
el17arm 44:e29458976114 203 sol3.by[1] = 26;
el17arm 41:0cf320f73424 204
el17arm 42:d81c008b0436 205 sol4.bx[1] = 66;
el17arm 44:e29458976114 206 sol4.by[1] = 20;
el17arm 40:913339e324b8 207
el17arm 42:d81c008b0436 208 sol5.bx[1] = 66;
el17arm 44:e29458976114 209 sol5.by[1] = 14;
el17arm 41:0cf320f73424 210 }
el17arm 41:0cf320f73424 211
el17arm 42:d81c008b0436 212 void Levels::soft_pos2()
el17arm 41:0cf320f73424 213 {
el17arm 42:d81c008b0436 214 sof1.sx1[1] = 72;
el17arm 42:d81c008b0436 215 sof1.sy[1] = 38;
el17arm 42:d81c008b0436 216 sof1.sx2[1] = 84;
el17arm 41:0cf320f73424 217
el17arm 42:d81c008b0436 218 sof2.sx1[1] = 72;
el17arm 44:e29458976114 219 sof2.sy[1] = 32;
el17arm 42:d81c008b0436 220 sof2.sx2[1] = 84;
el17arm 41:0cf320f73424 221
el17arm 42:d81c008b0436 222 sof3.sx1[1] = 72;
el17arm 44:e29458976114 223 sof3.sy[1] = 26;
el17arm 42:d81c008b0436 224 sof3.sx2[1] = 84;
el17arm 41:0cf320f73424 225
el17arm 42:d81c008b0436 226 sof4.sx1[1] = 72;
el17arm 44:e29458976114 227 sof4.sy[1] = 20;
el17arm 42:d81c008b0436 228 sof4.sx2[1] = 84;
el17arm 41:0cf320f73424 229
el17arm 42:d81c008b0436 230 sof5.sx1[1] = 72;
el17arm 44:e29458976114 231 sof5.sy[1] = 14;
el17arm 42:d81c008b0436 232 sof5.sx2[1] = 84;
el17arm 40:913339e324b8 233 }
el17arm 40:913339e324b8 234
el17arm 44:e29458976114 235 void Levels::level_platforms3(N5110 &lcd)
el17arm 44:e29458976114 236 {
el17arm 44:e29458976114 237 lcd.drawLine(0, 47, 83, 47, 1);
el17arm 44:e29458976114 238 lcd.drawRect(36, 31, 6, 2, FILL_BLACK);
el17arm 44:e29458976114 239 lcd.drawRect(30, 10, 42, 2, FILL_BLACK);
el17arm 44:e29458976114 240 lcd.drawRect(78, 20, 6, 2, FILL_BLACK);
el17arm 44:e29458976114 241 lcd.drawRect(66, 26, 10, 2, FILL_BLACK);
el17arm 44:e29458976114 242 lcd.drawRect(54, 30, 10, 2, FILL_BLACK);
el17arm 44:e29458976114 243
el17arm 44:e29458976114 244 }
el17arm 44:e29458976114 245 void Levels::key_pos3()
el17arm 44:e29458976114 246 {
el17arm 44:e29458976114 247 key1.kx[2] = 38;
el17arm 44:e29458976114 248 key1.ky[2] = 7;
el17arm 44:e29458976114 249
el17arm 44:e29458976114 250 key2.kx[2] = 66;
el17arm 44:e29458976114 251 key2.ky[2] = 7;
el17arm 44:e29458976114 252
el17arm 44:e29458976114 253 key3.kx[2] = 0;
el17arm 44:e29458976114 254 key3.ky[2] = 5;
el17arm 44:e29458976114 255
el17arm 44:e29458976114 256 key4.kx[2] = 57;
el17arm 44:e29458976114 257 key4.ky[2] = 27;
el17arm 44:e29458976114 258
el17arm 44:e29458976114 259 key5.kx[2] = 69;
el17arm 44:e29458976114 260 key5.ky[2] = 23;
el17arm 44:e29458976114 261 }
el17arm 42:d81c008b0436 262
el17arm 44:e29458976114 263 void Levels::trap_pos3()
el17arm 44:e29458976114 264 {
el17arm 44:e29458976114 265 trap1.tx[2] = 54;
el17arm 44:e29458976114 266 trap1.ty[2] = 27;
el17arm 44:e29458976114 267
el17arm 44:e29458976114 268 trap2.tx[2] = 66;
el17arm 44:e29458976114 269 trap2.ty[2] = 23;
el17arm 44:e29458976114 270
el17arm 44:e29458976114 271 trap3.tx[2] = 61;
el17arm 44:e29458976114 272 trap3.ty[2] = 27;
el17arm 44:e29458976114 273
el17arm 44:e29458976114 274 trap4.tx[2] = 73;
el17arm 44:e29458976114 275 trap4.ty[2] = 23;
el17arm 44:e29458976114 276
el17arm 44:e29458976114 277 trap5.tx[2] = 52;
el17arm 44:e29458976114 278 trap5.ty[2] = 7;
el17arm 44:e29458976114 279 }
el17arm 44:e29458976114 280
el17arm 44:e29458976114 281 void Levels::enem_pos3()
el17arm 44:e29458976114 282 {
el17arm 44:e29458976114 283 enem1.ex[2] = 49;
el17arm 44:e29458976114 284 enem1.ey[2] = 5;
el17arm 44:e29458976114 285 enem1.d[2] = 33;
el17arm 44:e29458976114 286 enem1.v[2] = 1;
el17arm 44:e29458976114 287
el17arm 44:e29458976114 288 enem2.ex[2] = 30;
el17arm 44:e29458976114 289 enem2.ey[2] = 5;
el17arm 44:e29458976114 290 enem2.d[2] = 42;
el17arm 44:e29458976114 291 enem2.v[2] = 1.25;
el17arm 44:e29458976114 292
el17arm 44:e29458976114 293 enem3.ex[2] = 35;
el17arm 44:e29458976114 294 enem3.ey[2] = 5;
el17arm 44:e29458976114 295 enem3.d[2] = 20;
el17arm 44:e29458976114 296 enem3.v[2] = 1;
el17arm 44:e29458976114 297 }
el17arm 44:e29458976114 298
el17arm 44:e29458976114 299 void Levels::block_pos3()
el17arm 44:e29458976114 300 {
el17arm 44:e29458976114 301 sol1.bx[2] = 15;
el17arm 44:e29458976114 302 sol1.by[2] = 39;
el17arm 44:e29458976114 303
el17arm 44:e29458976114 304 sol2.bx[2] = 30;
el17arm 44:e29458976114 305 sol2.by[2] = 31;
el17arm 44:e29458976114 306
el17arm 44:e29458976114 307 sol3.bx[2] = 15;
el17arm 44:e29458976114 308 sol3.by[2] = 23;
el17arm 44:e29458976114 309
el17arm 44:e29458976114 310 sol4.bx[2] = 0;
el17arm 44:e29458976114 311 sol4.by[2] = 8;
el17arm 44:e29458976114 312
el17arm 44:e29458976114 313 sol5.bx[2] = 0;
el17arm 44:e29458976114 314 sol5.by[2] = 16;
el17arm 44:e29458976114 315 }
el17arm 44:e29458976114 316
el17arm 44:e29458976114 317 void Levels::soft_pos3()
el17arm 44:e29458976114 318 {
el17arm 44:e29458976114 319 sof1.sx1[2] = 12;
el17arm 44:e29458976114 320 sof1.sy[2] = 16;
el17arm 44:e29458976114 321 sof1.sx2[2] = 24;
el17arm 44:e29458976114 322
el17arm 44:e29458976114 323 sof2.sx1[2] = 72;
el17arm 44:e29458976114 324 sof2.sy[2] = 10;
el17arm 44:e29458976114 325 sof2.sx2[2] = 84;
el17arm 44:e29458976114 326
el17arm 44:e29458976114 327 sof3.sx1[2] = 0;
el17arm 44:e29458976114 328 sof3.sy[2] = 0;
el17arm 44:e29458976114 329 sof3.sx2[2] = 0;
el17arm 44:e29458976114 330
el17arm 44:e29458976114 331 sof4.sx1[2] = 0;
el17arm 44:e29458976114 332 sof4.sy[2] = 0;
el17arm 44:e29458976114 333 sof4.sx2[2] = 0;
el17arm 44:e29458976114 334
el17arm 44:e29458976114 335 sof5.sx1[2] = 0;
el17arm 44:e29458976114 336 sof5.sy[2] = 0;
el17arm 44:e29458976114 337 sof5.sx2[2] = 0;
el17arm 44:e29458976114 338 }
el17arm 44:e29458976114 339