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.
Diff: Engine.cpp
- Revision:
- 10:b2dd5f484f98
- Parent:
- 9:0efc8d7cdcf7
- Child:
- 11:10c01766f774
diff -r 0efc8d7cdcf7 -r b2dd5f484f98 Engine.cpp --- a/Engine.cpp Mon Apr 10 16:44:12 2017 +0000 +++ b/Engine.cpp Tue Apr 25 10:13:53 2017 +0000 @@ -2,14 +2,13 @@ Engine::Engine() { + collisions = 0; + wave_counter = 0; } Engine::~Engine() { -} - -int collisions = 0; -int wave_counter = 0; +} void Engine::init(int friendly_width,int friendly_height,int ship_size,int speed,N5110 &lcd, Gamepad &pad) { @@ -44,7 +43,6 @@ _friendly.draw(lcd); _stats.draw_health(lcd); _stats.check_health(lcd, collisions); - _bullet.draw(lcd); wave_draw(lcd); } @@ -74,13 +72,10 @@ _ship6.draw(lcd); } - - void Engine::checker(N5110 &lcd, Gamepad &pad) { check_pass(pad); check_death(lcd, pad); - //_stats.check_health(lcd); } void Engine::update(N5110 &lcd, Gamepad &pad) @@ -92,59 +87,70 @@ _ship4.update(); _ship5.update(); _ship6.update(); - _bullet.update(); + //_bullet.update(); } -/*void Engine::shoot(N5110 &lcd, Gamepad &pad, int speed) +void Engine::shoot(N5110 &lcd, Gamepad &pad, int speed) { _speed = speed; if (pad.check_event(Gamepad::A_PRESSED) == true) { - pad.tone(1200.0,0.1); - //_bullet.init(lcd, pad, _speed); - //_bullet.draw(lcd); - //_bullet.update(); + //trigger = true; } -}*/ + //if (trigger == true) + //{ + //pad.tone(1200.0,0.1); + //_bullet.init(_speed); + //_bullet.draw(lcd); + //_bullet.update(); + //trigger = false; + //} +} void Engine::check_pass(Gamepad &pad) { Vector2D ship1_pos = _ship1.get_pos(); - if (ship1_pos.x + _ship_size < 0) { + if (ship1_pos.x + _ship_size < 0) + { _ship1.init(_ship_size,_speed); wave_counter = wave_counter + 1; } Vector2D ship2_pos = _ship2.get_pos(); - if (ship2_pos.x + _ship_size < 0) { + if (ship2_pos.x + _ship_size < 0) + { _ship2.init(_ship_size,_speed); } Vector2D ship3_pos = _ship3.get_pos(); - if (ship3_pos.x + _ship_size < 0) { + if (ship3_pos.x + _ship_size < 0) + { _ship3.init(_ship_size,_speed); } Vector2D ship4_pos = _ship4.get_pos(); - if (ship4_pos.x + _ship_size < 0) { + if (ship4_pos.x + _ship_size < 0) + { _ship4.init(_ship_size,_speed); } Vector2D ship5_pos = _ship5.get_pos(); - if (ship5_pos.x + _ship_size < 0) { + if (ship5_pos.x + _ship_size < 0) + { _ship5.init(_ship_size,_speed); } Vector2D ship6_pos = _ship6.get_pos(); - if (ship6_pos.x + _ship_size < 0) { + if (ship6_pos.x + _ship_size < 0) + { _ship6.init(_ship_size,_speed); } } @@ -154,13 +160,11 @@ Vector2D friendly_pos = _friendly.get_pos(); Vector2D ship1_pos = _ship1.get_pos(); - if ( - (friendly_pos.y >= ship1_pos.y-5) && // change 5 to friendly size and 6 to ship size + if ((friendly_pos.y >= ship1_pos.y-5) && // change 5 to friendly size and 6 to ship size (friendly_pos.y <= ship1_pos.y+5) && (friendly_pos.x+6 >= ship1_pos.x) && - (friendly_pos.x+6 <= ship1_pos.x+5) - ) { - + (friendly_pos.x+6 <= ship1_pos.x+5)) + { pad.tone(800.0,0.1); collisions = collisions + 1; } @@ -171,13 +175,11 @@ Vector2D friendly_pos = _friendly.get_pos(); Vector2D ship2_pos = _ship2.get_pos(); - if ( - (friendly_pos.y >= ship2_pos.y-5) && // change 5 to friendly size and 6 to ship size + if ((friendly_pos.y >= ship2_pos.y-5) && // change 5 to friendly size and 6 to ship size (friendly_pos.y <= ship2_pos.y+5) && (friendly_pos.x+6 >= ship2_pos.x) && - (friendly_pos.x+6 <= ship2_pos.x+5) - ) { - + (friendly_pos.x+6 <= ship2_pos.x+5)) + { pad.tone(800.0,0.1); collisions = collisions + 1; } @@ -188,13 +190,11 @@ Vector2D friendly_pos = _friendly.get_pos(); Vector2D ship3_pos = _ship3.get_pos(); - if ( - (friendly_pos.y >= ship3_pos.y-5) && // change 5 to friendly size and 6 to ship size + if ((friendly_pos.y >= ship3_pos.y-5) && // change 5 to friendly size and 6 to ship size (friendly_pos.y <= ship3_pos.y+5) && (friendly_pos.x+6 >= ship3_pos.x) && - (friendly_pos.x+6 <= ship3_pos.x+5) - ) { - + (friendly_pos.x+6 <= ship3_pos.x+5)) + { pad.tone(800.0,0.1); collisions = collisions + 1; } @@ -205,13 +205,11 @@ Vector2D friendly_pos = _friendly.get_pos(); Vector2D ship4_pos = _ship4.get_pos(); - if ( - (friendly_pos.y >= ship4_pos.y-5) && // change 5 to friendly size and 6 to ship size + if ((friendly_pos.y >= ship4_pos.y-5) && // change 5 to friendly size and 6 to ship size (friendly_pos.y <= ship4_pos.y+5) && (friendly_pos.x+6 >= ship4_pos.x) && - (friendly_pos.x+6 <= ship4_pos.x+5) - ) { - + (friendly_pos.x+6 <= ship4_pos.x+5)) + { pad.tone(800.0,0.1); collisions = collisions + 1; } @@ -222,13 +220,11 @@ Vector2D friendly_pos = _friendly.get_pos(); Vector2D ship5_pos = _ship5.get_pos(); - if ( - (friendly_pos.y >= ship5_pos.y-5) && // change 5 to friendly size and 6 to ship size + if ((friendly_pos.y >= ship5_pos.y-5) && // change 5 to friendly size and 6 to ship size (friendly_pos.y <= ship5_pos.y+5) && (friendly_pos.x+6 >= ship5_pos.x) && - (friendly_pos.x+6 <= ship5_pos.x+5) - ) { - + (friendly_pos.x+6 <= ship5_pos.x+5)) + { pad.tone(800.0,0.1); collisions = collisions + 1; } @@ -239,12 +235,11 @@ Vector2D friendly_pos = _friendly.get_pos(); Vector2D ship6_pos = _ship6.get_pos(); - if ( - (friendly_pos.y >= ship6_pos.y-5) && // change 5 to friendly size and 6 to ship size + if ((friendly_pos.y >= ship6_pos.y-5) && // change 5 to friendly size and 6 to ship size (friendly_pos.y <= ship6_pos.y+5) && (friendly_pos.x+6 >= ship6_pos.x) && - (friendly_pos.x+6 <= ship6_pos.x+5) - ) { + (friendly_pos.x+6 <= ship6_pos.x+5)) + { pad.tone(800.0,0.1); collisions = collisions + 1; } @@ -263,20 +258,24 @@ void Engine::game_over(N5110 &lcd, Gamepad &pad) { - if (collisions >= 6) { + if (collisions >= 6) + { lcd.drawRect(0,0,84,48,FILL_WHITE); - lcd.printString(" You Lose! ",0,1); - lcd.printString(" Press Start! ",0,4); + lcd.printString(" You Lose! ",0,0); + lcd.printString(" Press Right ",0,2); + lcd.printString(" & Left! ",0,4); lcd.refresh(); + wait(1); + //printf("Hello\n"); - while (pad.check_event(Gamepad::START_PRESSED) == false) { + while ((pad.check_event(Gamepad::R_PRESSED) == false) || + (pad.check_event(Gamepad::L_PRESSED) == false)) { wait(0.1); + //printf("3333\n"); } init(_friendly_width, _friendly_height, _ship_size, _speed, lcd, pad); collisions = 0; wave_counter = 0; } -} - - +} \ No newline at end of file