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
Diff: RosenEngine/RosenEngine.cpp
- Revision:
- 26:a53d41adf40b
- Parent:
- 25:faba9eb44514
- Child:
- 27:f99249e727fd
--- a/RosenEngine/RosenEngine.cpp Thu Apr 18 06:53:52 2019 +0000 +++ b/RosenEngine/RosenEngine.cpp Thu Apr 18 11:40:47 2019 +0000 @@ -40,12 +40,17 @@ _enemy.draw_seeker(lcd); if(_shipno == 0) { _ship.set_dimensions(9,6); - _ship.draw_ship(lcd); + _ship.draw_ship(lcd,_shipno); _weapons.draw(lcd,pad,_shipno); } if(_shipno == 1) { _ship.set_dimensions(7,10); - _ship.draw_imperion(lcd); + _ship.draw_ship(lcd,_shipno); + _weapons.draw(lcd,pad,_shipno); + } + if(_shipno == 2) { + _ship.set_dimensions(7,10); + _ship.draw_ship(lcd,_shipno); _weapons.draw(lcd,pad,_shipno); } } @@ -63,8 +68,17 @@ } // _menu.update(_d); - check_enemy_ship_collision(); - check_enemy_projectile_collision(); + if(enemy_ship_collision() == true){ + _health.update(1); + _enemy.reset_seeker(); + } + if(enemy_projectile_collision() == true){ + _enemy.reset_seeker(); + pad.tone(1000,0.05); + wait(0.05); + pad.tone(1500,0.05); + wait(0.05); + } // printf("collision check complete"); } void RosenEngine::get_pos() @@ -104,7 +118,7 @@ _menu.update(_d); _menu.disp_ships(lcd); } -void RosenEngine::check_enemy_ship_collision() +bool RosenEngine::enemy_ship_collision() { // Vector2D ship_pos = _ship.get_pos(); Vector2D seeker_pos = _enemy.get_seekerpos(); @@ -144,11 +158,12 @@ printf("sxcol = %d, sycol = %d\n", sxcol, sycol); if(sxcol == 1 && sycol == 1) { - _health.update(1); - _enemy.reset_seeker(); + return true; + } else { + return false; } } -void RosenEngine::check_enemy_projectile_collision() +bool RosenEngine::enemy_projectile_collision() { Vector2D seeker_pos = _enemy.get_seekerpos(); int lazer_x[3],seeker_x[9],seeker_y[38]; @@ -170,19 +185,20 @@ for(int cx = 0; cx<=9; cx=cx+1) { seeker_x[cx] = seeker_pos.x + cx; if(seeker_x[cx] == missle_pos.x) { - // printf("seeker_xpos = %f, missle_xpos = %f\n",seeker_pos.x,missle_pos.x); + printf("seeker_xpos = %f, missle_xpos = %f\n",seeker_pos.x,missle_pos.x); wxcol = 1; } } for(int cy = 0; cy<=7; cy=cy+1) { seeker_y[cy] = seeker_pos.y + cy; - if(seeker_y[cy] == missle_pos.y) { - // printf("seeker_ypos = %f, missle_ypos = %f\n",seeker_pos.y,missle_pos.y); + if(seeker_y[cy] == missle_pos.y + 4) { + printf("seeker_ypos = %f, missle_ypos = %f\n",seeker_pos.y,missle_pos.y); wycol = 1; } } if(wxcol == 1 && wycol == 1) { - _enemy.reset_seeker(); + _weapons.set_pos(ship_xpos,ship_ypos); + return true; } } @@ -199,12 +215,16 @@ for(int mx = 0; mx<=9; mx=mx+1) { if(lazer_x[nx] == seeker_x[mx]) { wxcol = 1; + printf("lazer_x = %d,seeker_x = %f\n"); } } } } if(wxcol == 1 && A == true) { - _enemy.reset_seeker(); + return true; + } + else{ + return false; } } } \ No newline at end of file