Uses accompanying Basket, Objects and Fruit libraries to create Fruit Basket game. If an object is caught, points are added; if an object in missed, a 'life' is lost.

Dependents:   Game_Controller_Project

Revision:
8:db24c475f64f
Parent:
7:ec6dc66ee196
Child:
9:902b67101cdc
--- a/Catch_Model.cpp	Wed Apr 12 14:46:51 2017 +0000
+++ b/Catch_Model.cpp	Fri Apr 14 15:37:08 2017 +0000
@@ -32,7 +32,6 @@
 {
     check_basket_catch(lcd, pad);
     check_basket_miss(lcd, pad);
-    //check_abxy(lcd, pad);
     
     basket.move(_d, _mag, pad);
     objects.move();
@@ -44,6 +43,7 @@
     objects.draw(lcd);
     print_score(lcd);
     print_lives(lcd);
+    print_delay(lcd);
 }
 
 void Catch_Model::check_basket_catch(N5110 &lcd, Gamepad &pad)
@@ -58,6 +58,7 @@
        (o_x_pos > b_x_pos) &&
        (o_x_pos <= (b_x_pos + 5))
        ) {
+           pad.tone(1000, 0.2);
            objects.undraw(lcd);
            add_score();
            objects.init(_objects_speed);
@@ -79,22 +80,36 @@
        if (score_var != 5) {
            _lives--;
         }
-       objects.init(_objects_speed);
+        pad.tone(100, 0.2);
+        objects.init(_objects_speed);
    } 
 }
 
-void Catch_Model::check_abxy(N5110 &lcd, Gamepad &pad)
+void Catch_Model::check_a(N5110 &lcd, Gamepad &pad)
 {
     if (
         (pad.check_event(Gamepad::A_PRESSED) == true) &&
         (_delay == 1)
         ) {
-        //abxy.a_pressed(_objects_speed, lcd);
         objects.undraw(lcd);
         objects.init(_objects_speed);
         
         _delay = 0;
-        //timeout.attach(&set_delay(), 10.0);
+        timeout.attach(this, &Catch_Model::set_delay, 10.0);
+        }
+    
+}
+
+void Catch_Model::check_b(N5110 &lcd, Gamepad &pad)
+{
+    if (
+        (pad.check_event(Gamepad::B_PRESSED) == true) &&
+        (_delay == 1)
+        ) {
+        _lives++;
+        
+        _delay = 0;
+        timeout.attach(this, &Catch_Model::set_delay, 10.0);
         }
     
 }
@@ -102,9 +117,8 @@
 void Catch_Model::set_delay()
 {
     _delay = 1;
-    //return _delay;
 }
- 
+
 void Catch_Model::add_score()
 {
     int score_var;
@@ -162,4 +176,14 @@
         lcd.refresh();
     }
 }
-    
\ No newline at end of file
+    
+void Catch_Model::print_delay(N5110 &lcd)
+{
+    if (_delay == 1) {
+        lcd.drawLine(46,4,50,8,1);
+        lcd.drawLine(50,8,54,0,1);
+        } else {
+            lcd.drawLine(46,0,54,8,1);
+            lcd.drawLine(46,8,54,0,1);
+            }
+}
\ No newline at end of file