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:
3:fc9133faec7a
Parent:
2:8410e09b77aa
Child:
4:84e29254b988
--- a/Catch_Model.cpp	Sat Mar 18 14:06:17 2017 +0000
+++ b/Catch_Model.cpp	Tue Mar 21 11:12:18 2017 +0000
@@ -27,8 +27,13 @@
     _mag = pad.get_mag();
 }
 
-void Catch_Model::update(Gamepad &pad)
+void Catch_Model::update(N5110 &lcd, Gamepad &pad)
 {
+    check_basket_catch(lcd, pad);
+    check_basket_miss(lcd, pad);
+    
+    print_score(lcd);
+    
     _basket.Basket_move(_d, _mag);
     _objects.Objects_move();
 }
@@ -39,12 +44,46 @@
     _objects.Objects_draw(lcd);
 }
 
-void Catch_Model::check_basket_catch(N5110 &lcd)
+void Catch_Model::check_basket_catch(N5110 &lcd, Gamepad &pad)
 {
+   int b_x_pos = _basket.get_Basket_x();
+   int b_y_pos = _basket.get_Basket_y();
+   int o_x_pos = _objects.get_Objects_x();
+   int o_y_pos = _objects.get_Objects_y();
     
+    if(
+       (o_y_pos >= b_y_pos) &&
+       (o_x_pos > b_x_pos) &&
+       (o_x_pos <= (b_x_pos + 5))
+       ) {
+           _objects.Objects_undraw(lcd);
+           _basket.Basket_score();
+           _objects.Objects_init(_objects_speed);
+    }
 }
 
-void Catch_Model::check_basket_miss(N5110 &lcd)
+void Catch_Model::check_basket_miss(N5110 &lcd, Gamepad &pad)
 {
+   int b_x_pos = _basket.get_Basket_x();
+   int b_y_pos = _basket.get_Basket_y();
+   int o_x_pos = _objects.get_Objects_x();
+   int o_y_pos = _objects.get_Objects_y();
+   
+   if (o_y_pos > b_y_pos) {
+       _objects.Objects_undraw(lcd);
+       _objects.Objects_init(_objects_speed);
+   } 
+}
+
+void Catch_Model::print_score(N5110 &lcd)
+{
+    char buffer[14];
     
-}
\ No newline at end of file
+    int score = _basket.get_Basket_score();
+    int print_score = sprintf(buffer, "SCORE: %2d", score);
+    if (print_score <= 14) {
+        lcd.printString(buffer,0,0);
+        lcd.refresh();
+    }
+}
+    
\ No newline at end of file