ELEC2645 (2018/19) / Mbed 2 deprecated fy14lkaa

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Thu May 09 04:45:37 2019 +0000
Revision:
137:fe80c0f2da9d
Parent:
136:58f393968aa3
Child:
145:e060e890c725
deleted the spaceman folder.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fy14lkaa 120:53e47c1e58f3 1 #include"SpaceEngine.h"
fy14lkaa 12:45b1249b3d9a 2
fy14lkaa 120:53e47c1e58f3 3 SpaceEngine::SpaceEngine()
fy14lkaa 12:45b1249b3d9a 4 {
fy14lkaa 12:45b1249b3d9a 5 }
fy14lkaa 120:53e47c1e58f3 6 SpaceEngine::~SpaceEngine()
fy14lkaa 12:45b1249b3d9a 7 {
fy14lkaa 12:45b1249b3d9a 8 }
fy14lkaa 12:45b1249b3d9a 9
fy14lkaa 12:45b1249b3d9a 10
fy14lkaa 122:d1fd8cbe6633 11
fy14lkaa 122:d1fd8cbe6633 12 void SpaceEngine::init(int x_spaceship,int y_spaceship, int x_bullet, int y_bullet,int fired_bullet, int x_alien,int y_alien, int speed_alien, int speed_bullet, int speed_spaceship)
fy14lkaa 57:45c5de9cefdf 13 {
fy14lkaa 57:45c5de9cefdf 14
fy14lkaa 122:d1fd8cbe6633 15 _x_spaceship=x_spaceship;
fy14lkaa 122:d1fd8cbe6633 16 _y_spaceship=y_spaceship;
fy14lkaa 122:d1fd8cbe6633 17 _x_bullet=x_bullet;
fy14lkaa 122:d1fd8cbe6633 18 _y_bullet=y_bullet;
fy14lkaa 122:d1fd8cbe6633 19 _fired_bullet= fired_bullet;
fy14lkaa 122:d1fd8cbe6633 20 _x_alien= x_alien;
fy14lkaa 122:d1fd8cbe6633 21 _y_alien= y_alien;
fy14lkaa 122:d1fd8cbe6633 22 _speed_alien= speed_alien;
fy14lkaa 122:d1fd8cbe6633 23 _speed_bullet=speed_bullet;
fy14lkaa 122:d1fd8cbe6633 24 _speed_spaceship=speed_spaceship;
fy14lkaa 123:d68eb9023d88 25 _bullet.init(_x_bullet, _y_bullet, speed_bullet,fired_bullet);
fy14lkaa 123:d68eb9023d88 26 _alien.init (_x_alien, _y_alien,_speed_alien);
fy14lkaa 123:d68eb9023d88 27 _spaceship.init( _x_spaceship, _y_spaceship, _speed_spaceship);
fy14lkaa 133:eed60548d170 28 _alien_killed = 0;
fy14lkaa 123:d68eb9023d88 29 }
fy14lkaa 12:45b1249b3d9a 30
fy14lkaa 124:77f379153715 31 void SpaceEngine::read_input(Gamepad &pad)
fy14lkaa 12:45b1249b3d9a 32 {
fy14lkaa 124:77f379153715 33
fy14lkaa 12:45b1249b3d9a 34 _d = pad.get_direction();
fy14lkaa 13:9d6ee753eca6 35 _mag = pad.get_mag();
fy14lkaa 124:77f379153715 36
fy14lkaa 12:45b1249b3d9a 37 }
fy14lkaa 12:45b1249b3d9a 38
fy14lkaa 124:77f379153715 39 void SpaceEngine::draw(N5110 &lcd)
fy14lkaa 124:77f379153715 40 {
fy14lkaa 124:77f379153715 41 _bullet.draw(lcd);
fy14lkaa 136:58f393968aa3 42
fy14lkaa 133:eed60548d170 43 if (_alien.isAlive() == true) {
fy14lkaa 133:eed60548d170 44 _alien.draw(lcd);
fy14lkaa 133:eed60548d170 45 } else { // alien is dead
fy14lkaa 133:eed60548d170 46 int y_pos = (rand() % 30) + 10; // random number 10 to 39
fy14lkaa 133:eed60548d170 47 _alien.init(70,y_pos,1);
fy14lkaa 133:eed60548d170 48 wait(0.2);
fy14lkaa 133:eed60548d170 49 }
fy14lkaa 136:58f393968aa3 50
fy14lkaa 124:77f379153715 51 _spaceship.draw(lcd);
fy14lkaa 133:eed60548d170 52 lcd.printString("alien_killed",0,0);
fy14lkaa 133:eed60548d170 53 char kills[14];
fy14lkaa 133:eed60548d170 54 sprintf(kills,"%2d",_alien_killed);
fy14lkaa 133:eed60548d170 55 lcd.printString(kills,70,0);
fy14lkaa 137:fe80c0f2da9d 56
fy14lkaa 56:c8fc0a1f4132 57 }
fy14lkaa 57:45c5de9cefdf 58
fy14lkaa 124:77f379153715 59
fy14lkaa 125:b83378770171 60 void SpaceEngine::update(Gamepad &pad)
fy14lkaa 70:7f0b330ff40b 61 {
fy14lkaa 125:b83378770171 62 _bullet.update(_d,_mag);
fy14lkaa 125:b83378770171 63 _alien.update(_d,_mag);
fy14lkaa 125:b83378770171 64 _spaceship.update(_d,_mag);
fy14lkaa 137:fe80c0f2da9d 65 check_space_collision(pad);
fy14lkaa 133:eed60548d170 66 _y_alien = _alien.get_pos_y();
fy14lkaa 133:eed60548d170 67 _x_alien = _alien.get_pos_x();
fy14lkaa 133:eed60548d170 68 _y_bullet = _bullet.get_pos_y();
fy14lkaa 133:eed60548d170 69 _x_bullet = _bullet.get_pos_x();
fy14lkaa 133:eed60548d170 70 if(_d==E) {
fy14lkaa 125:b83378770171 71 _fired_bullet=1;
fy14lkaa 137:fe80c0f2da9d 72 }
fy14lkaa 137:fe80c0f2da9d 73 _bullet.set_pos(_spaceship.get_pos_x()+33, _spaceship.get_pos_y());
fy14lkaa 133:eed60548d170 74 }
fy14lkaa 137:fe80c0f2da9d 75
fy14lkaa 137:fe80c0f2da9d 76
fy14lkaa 137:fe80c0f2da9d 77
fy14lkaa 137:fe80c0f2da9d 78 void SpaceEngine::check_space_collision(Gamepad &pad) {
fy14lkaa 133:eed60548d170 79
fy14lkaa 136:58f393968aa3 80 if(_x_bullet >= 65 && _x_bullet <= 68 && _y_bullet >= _y_alien-5 && _y_bullet <= _y_alien+15) {
fy14lkaa 136:58f393968aa3 81 _alien.setAlive(false);
fy14lkaa 136:58f393968aa3 82 _alien_killed++;
fy14lkaa 136:58f393968aa3 83 }
fy14lkaa 137:fe80c0f2da9d 84
fy14lkaa 133:eed60548d170 85 }