ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

Committer:
lewisgw
Date:
Fri May 03 09:33:34 2019 +0000
Revision:
26:4253656c0755
Parent:
21:20478f086bc2
Child:
29:bdc4138b5171
Now a dynamic fire at the bottom of the screen that gets higher as the player collects more coins. It will kill the skater if they collide.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lewisgw 18:304700b5d8f8 1 #include "Fire.h"
lewisgw 16:331be5c7ed80 2
lewisgw 16:331be5c7ed80 3 // Define sprite arrays.
lewisgw 18:304700b5d8f8 4 int fire_one[5][8] = {
lewisgw 16:331be5c7ed80 5 { 1,0,1,0,0,1,0,0 },
lewisgw 16:331be5c7ed80 6 { 1,0,0,0,1,1,1,0 },
lewisgw 16:331be5c7ed80 7 { 0,0,0,1,1,1,1,1 },
lewisgw 16:331be5c7ed80 8 { 0,1,0,0,1,1,1,0 },
lewisgw 16:331be5c7ed80 9 { 1,0,0,1,0,1,0,0 },
lewisgw 16:331be5c7ed80 10 };
lewisgw 16:331be5c7ed80 11
lewisgw 18:304700b5d8f8 12 int fire_two[5][8] = {
lewisgw 16:331be5c7ed80 13 { 0,0,1,0,0,1,0,0 },
lewisgw 16:331be5c7ed80 14 { 0,1,0,0,1,1,1,0 },
lewisgw 16:331be5c7ed80 15 { 1,0,1,0,1,1,1,0 },
lewisgw 16:331be5c7ed80 16 { 1,0,0,0,1,1,1,0 },
lewisgw 16:331be5c7ed80 17 { 0,1,0,1,1,0,0,0 },
lewisgw 16:331be5c7ed80 18 };
lewisgw 16:331be5c7ed80 19
lewisgw 16:331be5c7ed80 20 // Constructor and destructor.
lewisgw 18:304700b5d8f8 21 Fire::Fire() {}
lewisgw 16:331be5c7ed80 22
lewisgw 18:304700b5d8f8 23 Fire::~Fire() {}
lewisgw 16:331be5c7ed80 24
lewisgw 18:304700b5d8f8 25 void Fire::init() {
lewisgw 26:4253656c0755 26 _x = -10; // Start fire off screen.
lewisgw 18:304700b5d8f8 27 _fire_counter = false;
lewisgw 16:331be5c7ed80 28 }
lewisgw 16:331be5c7ed80 29
lewisgw 21:20478f086bc2 30 void Fire::generate_fire() {
lewisgw 21:20478f086bc2 31 _x++; // Keep fire moving from L to R.
lewisgw 21:20478f086bc2 32 _fire_counter = !_fire_counter; // Toggle fire counter to generate different
lewisgw 21:20478f086bc2 33 // sprites each iteration.
lewisgw 21:20478f086bc2 34 if (_x == 90) _x = -10; // If the fire goes off the screen, restart it on the
lewisgw 21:20478f086bc2 35 // other side.
lewisgw 16:331be5c7ed80 36 }
lewisgw 16:331be5c7ed80 37
lewisgw 18:304700b5d8f8 38 int * Fire::get_fire_sprite() {
lewisgw 26:4253656c0755 39 // Return different fire sprites.
lewisgw 18:304700b5d8f8 40 if (_fire_counter) {
lewisgw 18:304700b5d8f8 41 return *fire_one;
lewisgw 16:331be5c7ed80 42 } else {
lewisgw 18:304700b5d8f8 43 return *fire_two;
lewisgw 16:331be5c7ed80 44 }
lewisgw 16:331be5c7ed80 45 }
lewisgw 16:331be5c7ed80 46
lewisgw 18:304700b5d8f8 47 int Fire::get_fire_x() {
lewisgw 16:331be5c7ed80 48 return _x;
lewisgw 16:331be5c7ed80 49 }
lewisgw 16:331be5c7ed80 50
lewisgw 16:331be5c7ed80 51
lewisgw 16:331be5c7ed80 52
lewisgw 16:331be5c7ed80 53
lewisgw 21:20478f086bc2 54