ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Revision:
34:c5a042973e0c
Parent:
33:023f57d52b1c
Child:
35:b7a0f0b363d0
Child:
36:203ec93b4cc7
--- a/Gameengine/Gameengine.cpp	Wed Apr 10 17:56:13 2019 +0000
+++ b/Gameengine/Gameengine.cpp	Thu Apr 11 21:29:48 2019 +0000
@@ -36,7 +36,6 @@
 {
     t.start();
     read_direction(pad);
-    //get_miner_pos();
     _sprites.miner_move(_d, lcd);
     _sprites.miner_gravity(lcd);
     _sprites.miner_jump(lcd, pad);
@@ -44,25 +43,29 @@
     lose_life(lcd);
     game_over();
     next_level(lcd);
-    
+
     _sprites.enemy_move(0, 0.5, lcd);
     _sprites.enemy_move(1, 1, lcd);
-    
+
 }
 
-void Gameengine::draw(Key _k, N5110 &lcd, Gamepad &pad)
+void Gameengine::draw(keyed _k, N5110 &lcd, Gamepad &pad)
 {
     if (_level_select == 1) {
-        
+
         _sprites.enemy_collision(0);
         _sprites.enemy_collision(1);
         _sprites.miner_draw(lcd);
         _l1.level_platforms(lcd);
         _l1.soft_blocks(lcd);
-        _l1.solid_blocks(lcd);
-        _l1.keys(lcd, pad);
-        _l1.keys_collected();
-        _l1.traps(lcd);
+        solid_blocks(lcd);
+        _sprites.keys_collected();
+        //_l1.traps(lcd);
+        _sprites.key_collect(0, 79, 12, lcd, pad);
+        _sprites.key_collect(1, 36, 22, lcd, pad);
+        _sprites.key_collect(2, 40, 6, lcd, pad);
+        _sprites.key_collect(3, 62, 6, lcd, pad);
+        _sprites.key_collect(4, 75, 0, lcd, pad);
 
     }
     if(_level_select == 2) {
@@ -76,7 +79,7 @@
 bool Gameengine::enemy_death()
 {
     if(_sprites.enemy_collision(0) || _sprites.enemy_collision(1) ||
-    _sprites.enemy_collision(2) || _sprites.enemy_collision(3))
+            _sprites.enemy_collision(2) || _sprites.enemy_collision(3))
 
         return true;
     else {
@@ -86,7 +89,7 @@
 
 void Gameengine::lose_life(N5110 &lcd)
 {
-    if (_l1.traps(lcd) == 1 || enemy_death() == true) {
+    if (trap_death(lcd) == true || enemy_death() == true) {
         _lives--;
         _sprites.miner_init(3, 33);
         wait(1);
@@ -111,4 +114,20 @@
         _sprites.miner_init(3,0);
         printf("Final score is %f \n ",_lives * (60 - t.read())+ (10 * _l1.keys_collected()));
     }
+}
+
+bool Gameengine::trap_death(N5110 &lcd)
+{
+    if(_sprites.trap (0, 25, 44, lcd) || _sprites.trap(1,58, 6, lcd) ||
+        _sprites.trap(2, 75, 6, lcd) || _sprites.trap(3,23,6,lcd)) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+void Gameengine::solid_blocks(N5110 &lcd)
+{   
+    _sprites.blocks(0, 49,37, lcd);
+    _sprites.blocks(1, 42,22, lcd);
 }
\ No newline at end of file