ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jgb

Dependencies:   mbed

Committer:
el18jgb
Date:
Tue May 19 16:55:43 2020 +0000
Revision:
17:18ae81180853
Parent:
13:cfdfe60a2327
Child:
18:c600a6545e81
spikemode initial state, needs refining;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el18jgb 9:2836fc3d9ede 1 #include "Spikes.h"
el18jgb 9:2836fc3d9ede 2
el18jgb 9:2836fc3d9ede 3 const int spike [5][5] =
el18jgb 9:2836fc3d9ede 4 {
el18jgb 9:2836fc3d9ede 5 {0,0,1,0,0},
el18jgb 9:2836fc3d9ede 6 {0,0,1,0,0},
el18jgb 9:2836fc3d9ede 7 {1,1,1,1,1},
el18jgb 9:2836fc3d9ede 8 {0,1,1,1,0},
el18jgb 9:2836fc3d9ede 9 {0,0,1,0,0},
el18jgb 9:2836fc3d9ede 10 };
el18jgb 9:2836fc3d9ede 11
el18jgb 9:2836fc3d9ede 12 Spikes::Spikes()
el18jgb 9:2836fc3d9ede 13 {
el18jgb 9:2836fc3d9ede 14
el18jgb 9:2836fc3d9ede 15 }
el18jgb 9:2836fc3d9ede 16
el18jgb 9:2836fc3d9ede 17 Spikes::~Spikes()
el18jgb 9:2836fc3d9ede 18 {
el18jgb 9:2836fc3d9ede 19
el18jgb 9:2836fc3d9ede 20 }
el18jgb 9:2836fc3d9ede 21
el18jgb 9:2836fc3d9ede 22 void Spikes::init(){
el18jgb 9:2836fc3d9ede 23 _x = 0;
el18jgb 9:2836fc3d9ede 24 _y = 0;
el18jgb 9:2836fc3d9ede 25 _height = 5;
el18jgb 9:2836fc3d9ede 26 _width = 5;
el18jgb 9:2836fc3d9ede 27
el18jgb 9:2836fc3d9ede 28 _speed = 3;
el18jgb 9:2836fc3d9ede 29 }
el18jgb 9:2836fc3d9ede 30
el18jgb 9:2836fc3d9ede 31
el18jgb 9:2836fc3d9ede 32 void Spikes::draw(N5110 &lcd)
el18jgb 9:2836fc3d9ede 33 {
el18jgb 9:2836fc3d9ede 34 // draw spike
el18jgb 9:2836fc3d9ede 35 lcd.drawSprite(_x,_y,5,5,(int*)spike);
el18jgb 9:2836fc3d9ede 36
el18jgb 9:2836fc3d9ede 37 }
el18jgb 9:2836fc3d9ede 38
el18jgb 9:2836fc3d9ede 39 void Spikes::position(int x)
el18jgb 9:2836fc3d9ede 40 {
el18jgb 9:2836fc3d9ede 41 if (x == 1){
el18jgb 9:2836fc3d9ede 42 _x = rand() % 37 + 1;
el18jgb 9:2836fc3d9ede 43 _y = 1;
el18jgb 9:2836fc3d9ede 44 }
el18jgb 9:2836fc3d9ede 45 if (x == 2){
el18jgb 10:6c574b8524df 46 _x = rand() % 37 + 42;
el18jgb 9:2836fc3d9ede 47 _y = 1;
el18jgb 9:2836fc3d9ede 48 }
el18jgb 17:18ae81180853 49 if (x == 3){
el18jgb 17:18ae81180853 50 _y = rand() % 19 + 1;
el18jgb 17:18ae81180853 51 _x = 1;
el18jgb 17:18ae81180853 52 }
el18jgb 17:18ae81180853 53 if (x == 4){
el18jgb 17:18ae81180853 54 _y = rand() % 19 + 24;
el18jgb 17:18ae81180853 55 _x = 1;
el18jgb 17:18ae81180853 56 }
el18jgb 9:2836fc3d9ede 57 }
el18jgb 9:2836fc3d9ede 58
el18jgb 17:18ae81180853 59 void Spikes::updatey()
el18jgb 9:2836fc3d9ede 60 {
el18jgb 9:2836fc3d9ede 61 _y = _y + 3;
el18jgb 9:2836fc3d9ede 62 }
el18jgb 9:2836fc3d9ede 63
el18jgb 17:18ae81180853 64 void Spikes::updatex()
el18jgb 17:18ae81180853 65 {
el18jgb 17:18ae81180853 66 _x = _x + 3;
el18jgb 17:18ae81180853 67 }
el18jgb 17:18ae81180853 68
el18jgb 17:18ae81180853 69
el18jgb 9:2836fc3d9ede 70 Vector2D Spikes::get_pos() {
el18jgb 9:2836fc3d9ede 71 Vector2D p = {_x,_y};
el18jgb 9:2836fc3d9ede 72 return p;
el18jgb 10:6c574b8524df 73 }
el18jgb 10:6c574b8524df 74
el18jgb 10:6c574b8524df 75 void Spikes::hit(Gamepad &pad)
el18jgb 10:6c574b8524df 76 {
el18jgb 10:6c574b8524df 77 pad.led(1,1);
el18jgb 10:6c574b8524df 78 pad.led(4,1);
el18jgb 17:18ae81180853 79 wait(0.2);
el18jgb 17:18ae81180853 80 pad.leds_off();
el18jgb 10:6c574b8524df 81 }
el18jgb 10:6c574b8524df 82
el18jgb 10:6c574b8524df 83