ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

Committer:
lewisgw
Date:
Sat Apr 20 14:46:50 2019 +0000
Revision:
21:20478f086bc2
Parent:
18:304700b5d8f8
Child:
26:4253656c0755
Fully documented and commented all classes and functions

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 16:331be5c7ed80 26 _x = -10;
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 18:304700b5d8f8 39 if (_fire_counter) {
lewisgw 18:304700b5d8f8 40 return *fire_one;
lewisgw 16:331be5c7ed80 41 } else {
lewisgw 18:304700b5d8f8 42 return *fire_two;
lewisgw 16:331be5c7ed80 43 }
lewisgw 16:331be5c7ed80 44 }
lewisgw 16:331be5c7ed80 45
lewisgw 18:304700b5d8f8 46 int Fire::get_fire_x() {
lewisgw 16:331be5c7ed80 47 return _x;
lewisgw 16:331be5c7ed80 48 }
lewisgw 16:331be5c7ed80 49
lewisgw 16:331be5c7ed80 50
lewisgw 16:331be5c7ed80 51
lewisgw 16:331be5c7ed80 52
lewisgw 21:20478f086bc2 53