ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18jgb

Dependencies:   mbed

Committer:
el18jgb
Date:
Mon May 18 15:46:04 2020 +0000
Revision:
13:cfdfe60a2327
Parent:
Spikes.cpp@10:6c574b8524df
Child:
17:18ae81180853
good bit of a clean up to create and test new functions withing classes with ease;

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 9:2836fc3d9ede 49 }
el18jgb 9:2836fc3d9ede 50
el18jgb 9:2836fc3d9ede 51 void Spikes::update()
el18jgb 9:2836fc3d9ede 52 {
el18jgb 9:2836fc3d9ede 53 _y = _y + 3;
el18jgb 9:2836fc3d9ede 54 }
el18jgb 9:2836fc3d9ede 55
el18jgb 9:2836fc3d9ede 56 Vector2D Spikes::get_pos() {
el18jgb 9:2836fc3d9ede 57 Vector2D p = {_x,_y};
el18jgb 9:2836fc3d9ede 58 return p;
el18jgb 10:6c574b8524df 59 }
el18jgb 10:6c574b8524df 60
el18jgb 10:6c574b8524df 61 void Spikes::hit(Gamepad &pad)
el18jgb 10:6c574b8524df 62 {
el18jgb 10:6c574b8524df 63 pad.led(1,1);
el18jgb 10:6c574b8524df 64 pad.led(4,1);
el18jgb 10:6c574b8524df 65 }
el18jgb 10:6c574b8524df 66
el18jgb 10:6c574b8524df 67