ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

Committer:
lewisgw
Date:
Fri Apr 12 11:30:25 2019 +0000
Revision:
18:304700b5d8f8
Parent:
Spikes/Spikes.cpp@16:331be5c7ed80
Child:
21:20478f086bc2
Added a large menu artwork and re-named variables and functions to make the code more readable

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 18:304700b5d8f8 26 // Initialise the fire ball
lewisgw 16:331be5c7ed80 27 _x = -10;
lewisgw 18:304700b5d8f8 28 _fire_counter = false;
lewisgw 16:331be5c7ed80 29 }
lewisgw 16:331be5c7ed80 30
lewisgw 18:304700b5d8f8 31 void Fire::update_fire() {
lewisgw 18:304700b5d8f8 32 // On every iteration move the fire horizontally and toggle the fire counter.
lewisgw 18:304700b5d8f8 33 // If the fire goes off the screen, restart it on the other side.
lewisgw 16:331be5c7ed80 34 _x++;
lewisgw 18:304700b5d8f8 35 _fire_counter = !_fire_counter;
lewisgw 16:331be5c7ed80 36 if (_x == 90) _x = -10;
lewisgw 16:331be5c7ed80 37 }
lewisgw 16:331be5c7ed80 38
lewisgw 18:304700b5d8f8 39 int * Fire::get_fire_sprite() {
lewisgw 18:304700b5d8f8 40 // Return a different fire sprite on each iteration.
lewisgw 18:304700b5d8f8 41 if (_fire_counter) {
lewisgw 18:304700b5d8f8 42 return *fire_one;
lewisgw 16:331be5c7ed80 43 } else {
lewisgw 18:304700b5d8f8 44 return *fire_two;
lewisgw 16:331be5c7ed80 45 }
lewisgw 16:331be5c7ed80 46 }
lewisgw 16:331be5c7ed80 47
lewisgw 18:304700b5d8f8 48 int Fire::get_fire_x() {
lewisgw 16:331be5c7ed80 49 return _x;
lewisgw 16:331be5c7ed80 50 }
lewisgw 16:331be5c7ed80 51
lewisgw 16:331be5c7ed80 52
lewisgw 16:331be5c7ed80 53
lewisgw 16:331be5c7ed80 54