Reham Faqehi / Mbed 2 deprecated fy15raf

Dependencies:   mbed

Fork of fy15raf by ELEC2645 (2017/18)

Committer:
RehamFaqehi
Date:
Wed Apr 18 18:05:14 2018 +0000
Revision:
3:489437d4ebd7
Parent:
2:3fd0d3d69556
Child:
6:7b733b2a6cf6
Rocket now is moving with the joystick

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RehamFaqehi 2:3fd0d3d69556 1 #include "Rocket.h"
RehamFaqehi 2:3fd0d3d69556 2
RehamFaqehi 2:3fd0d3d69556 3 // nothing doing in the constructor and destructor
RehamFaqehi 2:3fd0d3d69556 4 Rocket::Rocket()
RehamFaqehi 2:3fd0d3d69556 5 {
RehamFaqehi 2:3fd0d3d69556 6
RehamFaqehi 2:3fd0d3d69556 7 }
RehamFaqehi 2:3fd0d3d69556 8
RehamFaqehi 2:3fd0d3d69556 9 Rocket::~Rocket()
RehamFaqehi 2:3fd0d3d69556 10 {
RehamFaqehi 2:3fd0d3d69556 11
RehamFaqehi 2:3fd0d3d69556 12 }
RehamFaqehi 2:3fd0d3d69556 13
RehamFaqehi 2:3fd0d3d69556 14 void Rocket::init()
RehamFaqehi 2:3fd0d3d69556 15 {
RehamFaqehi 2:3fd0d3d69556 16 _x = WIDTH/2 ;
RehamFaqehi 2:3fd0d3d69556 17 _y = HEIGHT/2 ;
RehamFaqehi 2:3fd0d3d69556 18 _speed = 1;
RehamFaqehi 2:3fd0d3d69556 19 }
RehamFaqehi 2:3fd0d3d69556 20
RehamFaqehi 2:3fd0d3d69556 21 void Rocket::draw(N5110 &lcd)
RehamFaqehi 2:3fd0d3d69556 22 {
RehamFaqehi 2:3fd0d3d69556 23 int sprite[7][10] = {
RehamFaqehi 2:3fd0d3d69556 24
RehamFaqehi 2:3fd0d3d69556 25 { 0,1,1,1,1,0,0,0,0,0, },
RehamFaqehi 2:3fd0d3d69556 26 { 0,0,1,0,0,1,1,0,0,0, },
RehamFaqehi 2:3fd0d3d69556 27 { 0,0,0,1,0,0,0,1,1,0, },
RehamFaqehi 2:3fd0d3d69556 28 { 0,0,0,1,1,1,1,1,1,1, },
RehamFaqehi 2:3fd0d3d69556 29 { 0,0,0,1,0,0,0,1,1,0, },
RehamFaqehi 2:3fd0d3d69556 30 { 0,0,1,0,0,1,1,0,0,0, },
RehamFaqehi 2:3fd0d3d69556 31 { 0,1,1,1,1,0,0,0,0,0, },
RehamFaqehi 2:3fd0d3d69556 32 };
RehamFaqehi 2:3fd0d3d69556 33 lcd.drawSprite(_x,_y,7,10,(int *)sprite);
RehamFaqehi 2:3fd0d3d69556 34 }
RehamFaqehi 3:489437d4ebd7 35
RehamFaqehi 3:489437d4ebd7 36 void Rocket::update(Direction d,float mag, N5110 &lcd)
RehamFaqehi 3:489437d4ebd7 37 {
RehamFaqehi 3:489437d4ebd7 38 _speed = int(mag*10.0f); // scale is arbitrary, could be changed in future
RehamFaqehi 3:489437d4ebd7 39
RehamFaqehi 3:489437d4ebd7 40 // update y and x values depending on direction of movement
RehamFaqehi 3:489437d4ebd7 41 if (d == N) {
RehamFaqehi 3:489437d4ebd7 42 _y-=_speed;
RehamFaqehi 3:489437d4ebd7 43 } else if (d == S) {
RehamFaqehi 3:489437d4ebd7 44 _y+=_speed;
RehamFaqehi 3:489437d4ebd7 45 }else if (d == W) {
RehamFaqehi 3:489437d4ebd7 46 _x-=_speed;
RehamFaqehi 3:489437d4ebd7 47 } else if (d == E) {
RehamFaqehi 3:489437d4ebd7 48 _x+=_speed;
RehamFaqehi 3:489437d4ebd7 49 }
RehamFaqehi 3:489437d4ebd7 50
RehamFaqehi 3:489437d4ebd7 51 // check the rocket coordinates so it doesn't go off screen
RehamFaqehi 3:489437d4ebd7 52 if (_y < 1) {
RehamFaqehi 3:489437d4ebd7 53 _y = 1;
RehamFaqehi 3:489437d4ebd7 54 }
RehamFaqehi 3:489437d4ebd7 55 if (_y > HEIGHT - 5) {
RehamFaqehi 3:489437d4ebd7 56 _y = HEIGHT - 5;
RehamFaqehi 3:489437d4ebd7 57 }
RehamFaqehi 3:489437d4ebd7 58 if (_x < 1) {
RehamFaqehi 3:489437d4ebd7 59 _x = 1;
RehamFaqehi 3:489437d4ebd7 60 }
RehamFaqehi 3:489437d4ebd7 61 if (_x > WIDTH - 7) {
RehamFaqehi 3:489437d4ebd7 62 _x = WIDTH - 7;
RehamFaqehi 3:489437d4ebd7 63 }
RehamFaqehi 3:489437d4ebd7 64 }