Reham Faqehi / Mbed 2 deprecated fy15raf

Dependencies:   mbed

Fork of fy15raf by ELEC2645 (2017/18)

Committer:
RehamFaqehi
Date:
Fri May 04 21:19:34 2018 +0000
Revision:
12:4d7f1349d796
Parent:
9:e70179ff61c5
Child:
14:cf4a32245152
Time added and some comments and functions names fixed

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 Rocket::Rocket()
RehamFaqehi 2:3fd0d3d69556 4 {
RehamFaqehi 2:3fd0d3d69556 5
RehamFaqehi 2:3fd0d3d69556 6 }
RehamFaqehi 2:3fd0d3d69556 7
RehamFaqehi 2:3fd0d3d69556 8 Rocket::~Rocket()
RehamFaqehi 2:3fd0d3d69556 9 {
RehamFaqehi 2:3fd0d3d69556 10
RehamFaqehi 2:3fd0d3d69556 11 }
RehamFaqehi 2:3fd0d3d69556 12
RehamFaqehi 2:3fd0d3d69556 13 void Rocket::init()
RehamFaqehi 2:3fd0d3d69556 14 {
RehamFaqehi 12:4d7f1349d796 15 //initialise the rocket position and speed
RehamFaqehi 12:4d7f1349d796 16 _x = 15 ;
RehamFaqehi 2:3fd0d3d69556 17 _y = HEIGHT/2 ;
RehamFaqehi 12:4d7f1349d796 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 12:4d7f1349d796 23 int sprite[7][10] = {
RehamFaqehi 12:4d7f1349d796 24
RehamFaqehi 12:4d7f1349d796 25 { 0,1,1,1,1,0,0,0,0,0, },
RehamFaqehi 12:4d7f1349d796 26 { 0,0,1,0,0,1,1,0,0,0, },
RehamFaqehi 12:4d7f1349d796 27 { 0,0,0,1,0,0,0,1,1,0, },
RehamFaqehi 12:4d7f1349d796 28 { 0,0,0,1,1,1,1,1,1,1, },
RehamFaqehi 12:4d7f1349d796 29 { 0,0,0,1,0,0,0,1,1,0, },
RehamFaqehi 12:4d7f1349d796 30 { 0,0,1,0,0,1,1,0,0,0, },
RehamFaqehi 12:4d7f1349d796 31 { 0,1,1,1,1,0,0,0,0,0, },
RehamFaqehi 12:4d7f1349d796 32 };
RehamFaqehi 2:3fd0d3d69556 33 lcd.drawSprite(_x,_y,7,10,(int *)sprite);
RehamFaqehi 2:3fd0d3d69556 34 }
RehamFaqehi 3:489437d4ebd7 35
RehamFaqehi 12:4d7f1349d796 36 void Rocket::update(Direction d,float mag)
RehamFaqehi 3:489437d4ebd7 37 {
RehamFaqehi 12:4d7f1349d796 38 _speed = int(mag*10.0f); //shows how far from the center does the rocket move based on the joystick
RehamFaqehi 3:489437d4ebd7 39
RehamFaqehi 12:4d7f1349d796 40 // update y and x values based 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 12:4d7f1349d796 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 12:4d7f1349d796 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 9:e70179ff61c5 55 if (_y > HEIGHT - 7) {
RehamFaqehi 9:e70179ff61c5 56 _y = HEIGHT - 7;
RehamFaqehi 3:489437d4ebd7 57 }
RehamFaqehi 3:489437d4ebd7 58 if (_x < 1) {
RehamFaqehi 3:489437d4ebd7 59 _x = 1;
RehamFaqehi 3:489437d4ebd7 60 }
RehamFaqehi 9:e70179ff61c5 61 if (_x > WIDTH - 9) {
RehamFaqehi 9:e70179ff61c5 62 _x = WIDTH - 9;
RehamFaqehi 3:489437d4ebd7 63 }
RehamFaqehi 6:7b733b2a6cf6 64 }
RehamFaqehi 6:7b733b2a6cf6 65
RehamFaqehi 12:4d7f1349d796 66 Vector2D Rocket::get_pos()
RehamFaqehi 12:4d7f1349d796 67 {
RehamFaqehi 6:7b733b2a6cf6 68 Vector2D p = {_x,_y};
RehamFaqehi 12:4d7f1349d796 69 return p;
RehamFaqehi 6:7b733b2a6cf6 70 }
RehamFaqehi 6:7b733b2a6cf6 71
RehamFaqehi 12:4d7f1349d796 72 void Rocket::add_collisions()
RehamFaqehi 6:7b733b2a6cf6 73 {
RehamFaqehi 12:4d7f1349d796 74 _collision++;
RehamFaqehi 6:7b733b2a6cf6 75 }
RehamFaqehi 6:7b733b2a6cf6 76
RehamFaqehi 12:4d7f1349d796 77 int Rocket::get_collisions()
RehamFaqehi 6:7b733b2a6cf6 78 {
RehamFaqehi 12:4d7f1349d796 79 return _collision;
RehamFaqehi 7:06c86ec1f19d 80 }
RehamFaqehi 7:06c86ec1f19d 81
RehamFaqehi 7:06c86ec1f19d 82 void Rocket::drawFullHearts(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 83 {
RehamFaqehi 12:4d7f1349d796 84 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 85
RehamFaqehi 12:4d7f1349d796 86 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1, },
RehamFaqehi 12:4d7f1349d796 87 { 1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1, },
RehamFaqehi 12:4d7f1349d796 88 { 1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1, },
RehamFaqehi 12:4d7f1349d796 89 { 0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0, },
RehamFaqehi 12:4d7f1349d796 90 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 91 };
RehamFaqehi 7:06c86ec1f19d 92 lcd.drawSprite(0,0,5,17,(int *)sprite);
RehamFaqehi 7:06c86ec1f19d 93 }
RehamFaqehi 7:06c86ec1f19d 94
RehamFaqehi 7:06c86ec1f19d 95 void Rocket::drawTwoHearts(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 96 {
RehamFaqehi 12:4d7f1349d796 97 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 98
RehamFaqehi 12:4d7f1349d796 99 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1, },
RehamFaqehi 12:4d7f1349d796 100 { 1,1,1,1,1,0,1,1,1,1,1,0,1,0,1,0,1, },
RehamFaqehi 12:4d7f1349d796 101 { 1,1,1,1,1,0,1,1,1,1,1,0,1,0,0,0,1, },
RehamFaqehi 12:4d7f1349d796 102 { 0,1,1,1,0,0,0,1,1,1,0,0,0,1,0,1,0, },
RehamFaqehi 12:4d7f1349d796 103 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 104 };
RehamFaqehi 7:06c86ec1f19d 105 lcd.drawSprite(0,0,5,17,(int *)sprite);
RehamFaqehi 7:06c86ec1f19d 106 }
RehamFaqehi 7:06c86ec1f19d 107
RehamFaqehi 7:06c86ec1f19d 108 void Rocket::drawOneHeart(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 109 {
RehamFaqehi 12:4d7f1349d796 110 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 111
RehamFaqehi 12:4d7f1349d796 112 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1, },
RehamFaqehi 12:4d7f1349d796 113 { 1,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1, },
RehamFaqehi 12:4d7f1349d796 114 { 1,1,1,1,1,0,1,0,0,0,1,0,1,0,0,0,1, },
RehamFaqehi 12:4d7f1349d796 115 { 0,1,1,1,0,0,0,1,0,1,0,0,0,1,0,1,0, },
RehamFaqehi 12:4d7f1349d796 116 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 117 };
RehamFaqehi 7:06c86ec1f19d 118 lcd.drawSprite(1,1,5,17,(int *)sprite);
RehamFaqehi 3:489437d4ebd7 119 }