ELEC2645 (2018/19) / Mbed 2 deprecated fy14lkaa

Dependencies:   mbed

Revision:
133:eed60548d170
Parent:
127:8bd8cf136f19
Child:
136:58f393968aa3
--- a/SpaceEngine/SpaceEngine.cpp	Mon May 06 14:35:54 2019 +0000
+++ b/SpaceEngine/SpaceEngine.cpp	Wed May 08 18:54:03 2019 +0000
@@ -20,11 +20,15 @@
     _x_alien= x_alien;
     _y_alien= y_alien;
     _speed_alien= speed_alien;
+
+    //_velocity_x= velocity_x;
+    //_velocity_y=velocity_y;
     _speed_bullet=speed_bullet;
     _speed_spaceship=speed_spaceship;
     _bullet.init(_x_bullet, _y_bullet, speed_bullet,fired_bullet);
     _alien.init (_x_alien, _y_alien,_speed_alien);
     _spaceship.init( _x_spaceship, _y_spaceship, _speed_spaceship);
+    _alien_killed = 0;
 }
 
 void SpaceEngine::read_input(Gamepad &pad)
@@ -40,8 +44,24 @@
 void  SpaceEngine::draw(N5110 &lcd)
 {
     _bullet.draw(lcd);
-    _alien.draw(lcd);
+   //if(!_killed){_alien.draw(lcd);}
+    
+    if (_alien.isAlive() == true) {
+        _alien.draw(lcd);
+    } else { // alien is dead
+        int y_pos = (rand() % 30) + 10; // random number 10 to 39
+        _alien.init(70,y_pos,1);
+        wait(0.2);
+    }
+    
     _spaceship.draw(lcd);
+    lcd.printString("alien_killed",0,0);
+    char kills[14];
+    sprintf(kills,"%2d",_alien_killed);
+    lcd.printString(kills,70,0);
+    //wait(0.1);
+   // _alien.init(70,0,1);
+    // _spaceman.draw(lcd);
 }
 
 
@@ -54,13 +74,86 @@
     _bullet.update(_d,_mag);
     _alien.update(_d,_mag);
     _spaceship.update(_d,_mag);
-    if(_d==E){
+    _check_space_collision(pad);
+    _y_alien = _alien.get_pos_y();
+    _x_alien = _alien.get_pos_x();
+    _y_bullet = _bullet.get_pos_y();
+    _x_bullet = _bullet.get_pos_x();
+    if(_d==E) {
         _fired_bullet=1;
-            //_x_bullet=11;
-            //_y_bullet=y;
-            _bullet.set_pos(_spaceship.get_pos_x()+11, _spaceship.get_pos_y());
-        }
-    
-    
+        //_x_bullet=11;
+        //_y_bullet=y;
+        _bullet.set_pos(_spaceship.get_pos_x()+33, _spaceship.get_pos_y());
+
+        //_alien.set_pos(_bullet.get_pos_x()+50,_bullet.get_pos_y());
+
+    }
+}
+//else if(_d==W) {
+// _fired_bullet=0;
+
+//}
+
+
+
+/*   if( _x_bullet>_x_alien && _y_bullet >_y_alien) {
+
+      _x_alien =85;
+       _y_alien= _y_alien +2;
+}*/
+
+/*
+      _y_alien = alien.getposition_y
+      _x_alien =85;
+if( _y_alien<0) {
+       _y_alien= _y_alien +2;
+}
+if (_y_alien> 48){
+    _y_alien= _y_alien -2;
+}
+    _y_alien = alien.setposition_y
+
+}*/
+
+///////////////////////////////////////
+
+/* _y_alien = _alien.get_pos_y
+      _x_alien =85;
+if( _y_alien<0) {
+       _y_alien= _y_alien +2;
+
 }
 
+_y_alien = _alien.set_pos;
+ else if (_y_alien> 48){
+    _y_alien= _y_alien -2;
+
+} */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+void SpaceEngine::_check_space_collision(Gamepad &pad)
+{
+    //if((_x_alien)<=( _x_bullet)&& (_y_alien)<=(_y_bullet )){ _killed = true;}
+    if(_x_bullet >= 65 && _x_bullet <= 68 && _y_bullet >= _y_alien-5 && _y_bullet <= _y_alien+15) {
+        _alien.setAlive(false);
+        _alien_killed++;
+    }
+    // _x_alien =1000;
+    // _y_alien= 1000;
+    // lcd.drawSprite(1000,1000,32,32,(int*)alien2);
+
+//s}  //if(x_bullet>=x_alien && y_bullet >=y_alien && y_bullet <=y_alien+10)
+}