Reham Faqehi / Mbed 2 deprecated fy15raf

Dependencies:   mbed

Fork of fy15raf by ELEC2645 (2017/18)

Committer:
RehamFaqehi
Date:
Sun May 06 16:17:41 2018 +0000
Revision:
14:cf4a32245152
Parent:
12:4d7f1349d796
Debugging strings and play again with start button have been added

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 14:cf4a32245152 15 //initialise the rocket position, speed and collisions
RehamFaqehi 12:4d7f1349d796 16 _x = 15 ;
RehamFaqehi 2:3fd0d3d69556 17 _y = HEIGHT/2 ;
RehamFaqehi 12:4d7f1349d796 18 _speed = 1;
RehamFaqehi 14:cf4a32245152 19 _collision=0;
RehamFaqehi 2:3fd0d3d69556 20 }
RehamFaqehi 2:3fd0d3d69556 21
RehamFaqehi 2:3fd0d3d69556 22 void Rocket::draw(N5110 &lcd)
RehamFaqehi 2:3fd0d3d69556 23 {
RehamFaqehi 12:4d7f1349d796 24 int sprite[7][10] = {
RehamFaqehi 12:4d7f1349d796 25
RehamFaqehi 12:4d7f1349d796 26 { 0,1,1,1,1,0,0,0,0,0, },
RehamFaqehi 12:4d7f1349d796 27 { 0,0,1,0,0,1,1,0,0,0, },
RehamFaqehi 12:4d7f1349d796 28 { 0,0,0,1,0,0,0,1,1,0, },
RehamFaqehi 12:4d7f1349d796 29 { 0,0,0,1,1,1,1,1,1,1, },
RehamFaqehi 12:4d7f1349d796 30 { 0,0,0,1,0,0,0,1,1,0, },
RehamFaqehi 12:4d7f1349d796 31 { 0,0,1,0,0,1,1,0,0,0, },
RehamFaqehi 12:4d7f1349d796 32 { 0,1,1,1,1,0,0,0,0,0, },
RehamFaqehi 12:4d7f1349d796 33 };
RehamFaqehi 2:3fd0d3d69556 34 lcd.drawSprite(_x,_y,7,10,(int *)sprite);
RehamFaqehi 2:3fd0d3d69556 35 }
RehamFaqehi 3:489437d4ebd7 36
RehamFaqehi 12:4d7f1349d796 37 void Rocket::update(Direction d,float mag)
RehamFaqehi 3:489437d4ebd7 38 {
RehamFaqehi 12:4d7f1349d796 39 _speed = int(mag*10.0f); //shows how far from the center does the rocket move based on the joystick
RehamFaqehi 3:489437d4ebd7 40
RehamFaqehi 12:4d7f1349d796 41 // update y and x values based on direction of movement
RehamFaqehi 3:489437d4ebd7 42 if (d == N) {
RehamFaqehi 3:489437d4ebd7 43 _y-=_speed;
RehamFaqehi 3:489437d4ebd7 44 } else if (d == S) {
RehamFaqehi 3:489437d4ebd7 45 _y+=_speed;
RehamFaqehi 12:4d7f1349d796 46 } else if (d == W) {
RehamFaqehi 3:489437d4ebd7 47 _x-=_speed;
RehamFaqehi 3:489437d4ebd7 48 } else if (d == E) {
RehamFaqehi 3:489437d4ebd7 49 _x+=_speed;
RehamFaqehi 3:489437d4ebd7 50 }
RehamFaqehi 12:4d7f1349d796 51
RehamFaqehi 3:489437d4ebd7 52 // check the rocket coordinates so it doesn't go off screen
RehamFaqehi 3:489437d4ebd7 53 if (_y < 1) {
RehamFaqehi 3:489437d4ebd7 54 _y = 1;
RehamFaqehi 3:489437d4ebd7 55 }
RehamFaqehi 9:e70179ff61c5 56 if (_y > HEIGHT - 7) {
RehamFaqehi 9:e70179ff61c5 57 _y = HEIGHT - 7;
RehamFaqehi 3:489437d4ebd7 58 }
RehamFaqehi 3:489437d4ebd7 59 if (_x < 1) {
RehamFaqehi 3:489437d4ebd7 60 _x = 1;
RehamFaqehi 3:489437d4ebd7 61 }
RehamFaqehi 9:e70179ff61c5 62 if (_x > WIDTH - 9) {
RehamFaqehi 9:e70179ff61c5 63 _x = WIDTH - 9;
RehamFaqehi 3:489437d4ebd7 64 }
RehamFaqehi 6:7b733b2a6cf6 65 }
RehamFaqehi 6:7b733b2a6cf6 66
RehamFaqehi 12:4d7f1349d796 67 Vector2D Rocket::get_pos()
RehamFaqehi 12:4d7f1349d796 68 {
RehamFaqehi 6:7b733b2a6cf6 69 Vector2D p = {_x,_y};
RehamFaqehi 12:4d7f1349d796 70 return p;
RehamFaqehi 6:7b733b2a6cf6 71 }
RehamFaqehi 6:7b733b2a6cf6 72
RehamFaqehi 12:4d7f1349d796 73 void Rocket::add_collisions()
RehamFaqehi 6:7b733b2a6cf6 74 {
RehamFaqehi 12:4d7f1349d796 75 _collision++;
RehamFaqehi 6:7b733b2a6cf6 76 }
RehamFaqehi 6:7b733b2a6cf6 77
RehamFaqehi 12:4d7f1349d796 78 int Rocket::get_collisions()
RehamFaqehi 6:7b733b2a6cf6 79 {
RehamFaqehi 12:4d7f1349d796 80 return _collision;
RehamFaqehi 7:06c86ec1f19d 81 }
RehamFaqehi 7:06c86ec1f19d 82
RehamFaqehi 7:06c86ec1f19d 83 void Rocket::drawFullHearts(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 84 {
RehamFaqehi 12:4d7f1349d796 85 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 86
RehamFaqehi 12:4d7f1349d796 87 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,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 { 1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1, },
RehamFaqehi 12:4d7f1349d796 90 { 0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0, },
RehamFaqehi 12:4d7f1349d796 91 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 92 };
RehamFaqehi 7:06c86ec1f19d 93 lcd.drawSprite(0,0,5,17,(int *)sprite);
RehamFaqehi 7:06c86ec1f19d 94 }
RehamFaqehi 7:06c86ec1f19d 95
RehamFaqehi 7:06c86ec1f19d 96 void Rocket::drawTwoHearts(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 97 {
RehamFaqehi 12:4d7f1349d796 98 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 99
RehamFaqehi 12:4d7f1349d796 100 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1, },
RehamFaqehi 12:4d7f1349d796 101 { 1,1,1,1,1,0,1,1,1,1,1,0,1,0,1,0,1, },
RehamFaqehi 12:4d7f1349d796 102 { 1,1,1,1,1,0,1,1,1,1,1,0,1,0,0,0,1, },
RehamFaqehi 12:4d7f1349d796 103 { 0,1,1,1,0,0,0,1,1,1,0,0,0,1,0,1,0, },
RehamFaqehi 12:4d7f1349d796 104 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 105 };
RehamFaqehi 7:06c86ec1f19d 106 lcd.drawSprite(0,0,5,17,(int *)sprite);
RehamFaqehi 7:06c86ec1f19d 107 }
RehamFaqehi 7:06c86ec1f19d 108
RehamFaqehi 7:06c86ec1f19d 109 void Rocket::drawOneHeart(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 110 {
RehamFaqehi 12:4d7f1349d796 111 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 112
RehamFaqehi 12:4d7f1349d796 113 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1, },
RehamFaqehi 12:4d7f1349d796 114 { 1,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1, },
RehamFaqehi 12:4d7f1349d796 115 { 1,1,1,1,1,0,1,0,0,0,1,0,1,0,0,0,1, },
RehamFaqehi 12:4d7f1349d796 116 { 0,1,1,1,0,0,0,1,0,1,0,0,0,1,0,1,0, },
RehamFaqehi 12:4d7f1349d796 117 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 118 };
RehamFaqehi 7:06c86ec1f19d 119 lcd.drawSprite(1,1,5,17,(int *)sprite);
RehamFaqehi 3:489437d4ebd7 120 }