Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
SpaceEngine/SpaceEngine.cpp@137:fe80c0f2da9d, 2019-05-09 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |