Reham Faqehi / Mbed 2 deprecated fy15raf

Dependencies:   mbed

Fork of fy15raf by ELEC2645 (2017/18)

Committer:
RehamFaqehi
Date:
Tue May 08 11:10:34 2018 +0000
Revision:
18:53017c90bd26
Parent:
16:106c27d03402
Final Submission. I have read and agreed with Statement of Academic Integrity.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RehamFaqehi 16:106c27d03402 1 #include "Spaceship.h"
RehamFaqehi 2:3fd0d3d69556 2
RehamFaqehi 16:106c27d03402 3 Spaceship::Spaceship()
RehamFaqehi 2:3fd0d3d69556 4 {
RehamFaqehi 2:3fd0d3d69556 5
RehamFaqehi 2:3fd0d3d69556 6 }
RehamFaqehi 2:3fd0d3d69556 7
RehamFaqehi 16:106c27d03402 8 Spaceship::~Spaceship()
RehamFaqehi 2:3fd0d3d69556 9 {
RehamFaqehi 2:3fd0d3d69556 10
RehamFaqehi 2:3fd0d3d69556 11 }
RehamFaqehi 2:3fd0d3d69556 12
RehamFaqehi 16:106c27d03402 13 void Spaceship::init()
RehamFaqehi 2:3fd0d3d69556 14 {
RehamFaqehi 16:106c27d03402 15 //initialise the Spaceship 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 16:106c27d03402 22 void Spaceship::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 16:106c27d03402 37 void Spaceship::update(Direction d,float mag)
RehamFaqehi 3:489437d4ebd7 38 {
RehamFaqehi 16:106c27d03402 39 _speed = int(mag*10.0f); //shows how far from the center does the Spaceship move based on the joystick
RehamFaqehi 3:489437d4ebd7 40
RehamFaqehi 18:53017c90bd26 41 // update y and x values based on direction of joystick 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 18:53017c90bd26 52
RehamFaqehi 16:106c27d03402 53 // check the Spaceship coordinates so it doesn't go off screen
RehamFaqehi 3:489437d4ebd7 54 if (_y < 1) {
RehamFaqehi 3:489437d4ebd7 55 _y = 1;
RehamFaqehi 3:489437d4ebd7 56 }
RehamFaqehi 9:e70179ff61c5 57 if (_y > HEIGHT - 7) {
RehamFaqehi 9:e70179ff61c5 58 _y = HEIGHT - 7;
RehamFaqehi 3:489437d4ebd7 59 }
RehamFaqehi 3:489437d4ebd7 60 if (_x < 1) {
RehamFaqehi 3:489437d4ebd7 61 _x = 1;
RehamFaqehi 3:489437d4ebd7 62 }
RehamFaqehi 9:e70179ff61c5 63 if (_x > WIDTH - 9) {
RehamFaqehi 9:e70179ff61c5 64 _x = WIDTH - 9;
RehamFaqehi 3:489437d4ebd7 65 }
RehamFaqehi 6:7b733b2a6cf6 66 }
RehamFaqehi 6:7b733b2a6cf6 67
RehamFaqehi 16:106c27d03402 68 Vector2D Spaceship::get_pos()
RehamFaqehi 12:4d7f1349d796 69 {
RehamFaqehi 6:7b733b2a6cf6 70 Vector2D p = {_x,_y};
RehamFaqehi 12:4d7f1349d796 71 return p;
RehamFaqehi 6:7b733b2a6cf6 72 }
RehamFaqehi 6:7b733b2a6cf6 73
RehamFaqehi 16:106c27d03402 74 void Spaceship::add_collisions()
RehamFaqehi 6:7b733b2a6cf6 75 {
RehamFaqehi 12:4d7f1349d796 76 _collision++;
RehamFaqehi 6:7b733b2a6cf6 77 }
RehamFaqehi 6:7b733b2a6cf6 78
RehamFaqehi 16:106c27d03402 79 int Spaceship::get_collisions()
RehamFaqehi 6:7b733b2a6cf6 80 {
RehamFaqehi 12:4d7f1349d796 81 return _collision;
RehamFaqehi 7:06c86ec1f19d 82 }
RehamFaqehi 7:06c86ec1f19d 83
RehamFaqehi 16:106c27d03402 84 void Spaceship::drawFullHearts(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 85 {
RehamFaqehi 12:4d7f1349d796 86 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 87
RehamFaqehi 12:4d7f1349d796 88 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,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 { 1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1, },
RehamFaqehi 12:4d7f1349d796 91 { 0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0, },
RehamFaqehi 12:4d7f1349d796 92 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 93 };
RehamFaqehi 7:06c86ec1f19d 94 lcd.drawSprite(0,0,5,17,(int *)sprite);
RehamFaqehi 7:06c86ec1f19d 95 }
RehamFaqehi 7:06c86ec1f19d 96
RehamFaqehi 16:106c27d03402 97 void Spaceship::drawTwoHearts(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 98 {
RehamFaqehi 12:4d7f1349d796 99 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 100
RehamFaqehi 12:4d7f1349d796 101 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1, },
RehamFaqehi 12:4d7f1349d796 102 { 1,1,1,1,1,0,1,1,1,1,1,0,1,0,1,0,1, },
RehamFaqehi 12:4d7f1349d796 103 { 1,1,1,1,1,0,1,1,1,1,1,0,1,0,0,0,1, },
RehamFaqehi 12:4d7f1349d796 104 { 0,1,1,1,0,0,0,1,1,1,0,0,0,1,0,1,0, },
RehamFaqehi 12:4d7f1349d796 105 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 106 };
RehamFaqehi 7:06c86ec1f19d 107 lcd.drawSprite(0,0,5,17,(int *)sprite);
RehamFaqehi 7:06c86ec1f19d 108 }
RehamFaqehi 7:06c86ec1f19d 109
RehamFaqehi 16:106c27d03402 110 void Spaceship::drawOneHeart(N5110 &lcd)
RehamFaqehi 7:06c86ec1f19d 111 {
RehamFaqehi 12:4d7f1349d796 112 int sprite[5][17] = {
RehamFaqehi 12:4d7f1349d796 113
RehamFaqehi 12:4d7f1349d796 114 { 1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1, },
RehamFaqehi 12:4d7f1349d796 115 { 1,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1, },
RehamFaqehi 12:4d7f1349d796 116 { 1,1,1,1,1,0,1,0,0,0,1,0,1,0,0,0,1, },
RehamFaqehi 12:4d7f1349d796 117 { 0,1,1,1,0,0,0,1,0,1,0,0,0,1,0,1,0, },
RehamFaqehi 12:4d7f1349d796 118 { 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0, },
RehamFaqehi 12:4d7f1349d796 119 };
RehamFaqehi 7:06c86ec1f19d 120 lcd.drawSprite(1,1,5,17,(int *)sprite);
RehamFaqehi 3:489437d4ebd7 121 }