Laila Al Badwawi 200906179 SpaceInvaders I declare this my own independent work and understand the university rules on plagiarism.

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Sun Apr 28 19:44:34 2019 +0000
Revision:
91:f9e2ff484014
Parent:
90:a992605aeb8d
Child:
92:8a1b14488ca5
added draw sprite to draw the alien in Alien.cpp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fy14lkaa 83:a55e77dfee5a 1 #include "space_ship.h"
fy14lkaa 83:a55e77dfee5a 2
fy14lkaa 83:a55e77dfee5a 3 space_ship::space_ship()
fy14lkaa 83:a55e77dfee5a 4 {
fy14lkaa 83:a55e77dfee5a 5
fy14lkaa 83:a55e77dfee5a 6 }
fy14lkaa 83:a55e77dfee5a 7
fy14lkaa 83:a55e77dfee5a 8 space_ship::~space_ship()
fy14lkaa 83:a55e77dfee5a 9 {
fy14lkaa 83:a55e77dfee5a 10
fy14lkaa 83:a55e77dfee5a 11 }
fy14lkaa 84:d875c6e87398 12
fy14lkaa 87:4635d00ffe9d 13
fy14lkaa 87:4635d00ffe9d 14
fy14lkaa 87:4635d00ffe9d 15
fy14lkaa 87:4635d00ffe9d 16 const int space_ship[10][12]= {
fy14lkaa 87:4635d00ffe9d 17 {0,0,0,0,0,0,0,0,0,0,0,0},
fy14lkaa 87:4635d00ffe9d 18 {0,0,0,1,1,0,0,0,0,0,0,0},
fy14lkaa 87:4635d00ffe9d 19 {0,0,0,1,1,0,0,0,0,0,0,0},
fy14lkaa 87:4635d00ffe9d 20 {0,1,1,1,1,1,1,1,0,0,0,0},
fy14lkaa 87:4635d00ffe9d 21 {0,1,1,1,1,1,1,1,1,0,0,0},
fy14lkaa 87:4635d00ffe9d 22 {0,1,1,1,1,1,1,1,1,1,1,0},
fy14lkaa 87:4635d00ffe9d 23 {0,1,1,1,1,1,1,1,1,0,0,0},
fy14lkaa 87:4635d00ffe9d 24 {0,1,1,1,1,1,1,1,0,0,0,0},
fy14lkaa 87:4635d00ffe9d 25 {0,0,0,1,1,0,0,0,0,0,0,0},
fy14lkaa 87:4635d00ffe9d 26 {0,0,0,1,1,0,0,0,0,0,0,0},
fy14lkaa 87:4635d00ffe9d 27
fy14lkaa 87:4635d00ffe9d 28 };
fy14lkaa 87:4635d00ffe9d 29
fy14lkaa 85:0094d33fb1da 30 void space_ship::init(int x,int height,int width)
fy14lkaa 85:0094d33fb1da 31 {
fy14lkaa 85:0094d33fb1da 32 _x = x; // x value on screen is fixed
fy14lkaa 85:0094d33fb1da 33 _y = HEIGHT/2 - height/2; // y depends on height of screen and height of space_ship
fy14lkaa 85:0094d33fb1da 34 _height = height;
fy14lkaa 85:0094d33fb1da 35 _width = width;
fy14lkaa 85:0094d33fb1da 36 _speed = 1; // default speed
fy14lkaa 85:0094d33fb1da 37 _score = 0; // start score from zero
fy14lkaa 85:0094d33fb1da 38
fy14lkaa 91:f9e2ff484014 39
fy14lkaa 91:f9e2ff484014 40 if (_d2==N) {
fy14lkaa 91:f9e2ff484014 41 y=y-2;
fy14lkaa 91:f9e2ff484014 42 }
fy14lkaa 91:f9e2ff484014 43
fy14lkaa 91:f9e2ff484014 44 else if (_d2==E) {
fy14lkaa 91:f9e2ff484014 45 bullet_fired=1;
fy14lkaa 91:f9e2ff484014 46 x_bullet=11;
fy14lkaa 91:f9e2ff484014 47 y_bullet=y;
fy14lkaa 91:f9e2ff484014 48 }
fy14lkaa 91:f9e2ff484014 49
fy14lkaa 91:f9e2ff484014 50 if (y>=40) {
fy14lkaa 91:f9e2ff484014 51 y=40;
fy14lkaa 91:f9e2ff484014 52 }
fy14lkaa 91:f9e2ff484014 53
fy14lkaa 91:f9e2ff484014 54 else if(y<=0) {
fy14lkaa 91:f9e2ff484014 55 y =0;
fy14lkaa 91:f9e2ff484014 56 }
fy14lkaa 91:f9e2ff484014 57
fy14lkaa 91:f9e2ff484014 58 if(bullet_fired==1) {
fy14lkaa 91:f9e2ff484014 59 x_bullet+=4;
fy14lkaa 91:f9e2ff484014 60 }
fy14lkaa 91:f9e2ff484014 61
fy14lkaa 91:f9e2ff484014 62 if(x_bullet>=x_Alien && y_bullet >=y_Alien && y_bullet <=y_Alien+10) {
fy14lkaa 91:f9e2ff484014 63 y=0;
fy14lkaa 91:f9e2ff484014 64 }
fy14lkaa 91:f9e2ff484014 65
fy14lkaa 85:0094d33fb1da 66 }
fy14lkaa 86:79cfe806a11d 67
fy14lkaa 86:79cfe806a11d 68 void space_ship::draw(N5110 &lcd)
fy14lkaa 86:79cfe806a11d 69 {
fy14lkaa 88:a19f315551ea 70 // draw space_ship in screen buffer.
fy14lkaa 88:a19f315551ea 71 lcd.drawSprite(x_space_ship,y_space_ship,10,12,(int *) space_ship);
fy14lkaa 86:79cfe806a11d 72 }
fy14lkaa 88:a19f315551ea 73
fy14lkaa 88:a19f315551ea 74 void space_ship::add_score()
fy14lkaa 88:a19f315551ea 75 {
fy14lkaa 88:a19f315551ea 76 _score++;
fy14lkaa 89:2eb3b6624117 77 }
fy14lkaa 89:2eb3b6624117 78
fy14lkaa 89:2eb3b6624117 79 int space_ship::get_score()
fy14lkaa 89:2eb3b6624117 80 {
fy14lkaa 89:2eb3b6624117 81 return _score;
fy14lkaa 89:2eb3b6624117 82 }
fy14lkaa 90:a992605aeb8d 83
fy14lkaa 91:f9e2ff484014 84 Vector2D space_ship::get_pos()
fy14lkaa 91:f9e2ff484014 85 {
fy14lkaa 90:a992605aeb8d 86 Vector2D p = {_x,_y};
fy14lkaa 91:f9e2ff484014 87 return p;
fy14lkaa 90:a992605aeb8d 88 }