ELEC2645 (2018/19) / Mbed 2 deprecated el17szs

Dependencies:   mbed

Revision:
22:69d7fe739872
Parent:
21:a0904159e183
Child:
23:a16c97a59a41
--- a/Cricket/Cricket.cpp	Tue Apr 30 13:17:14 2019 +0000
+++ b/Cricket/Cricket.cpp	Tue Apr 30 20:36:42 2019 +0000
@@ -17,13 +17,14 @@
    bat.init(4,5);
    ball.init(2,3);
    scoreboard.init();
-   new_round=1;
+   _new_round=1;
    direction_set=0;
-   new_game=1;
+   _new_game=1;
    fieldersCount=0;
    init_field_counter=0;
    init_positions();
    set_hit=0;
+   set_loft=0;
    _position_no=-1;
    check_bowled=0;
    _ball_limit=3;
@@ -35,12 +36,14 @@
 void Cricket::round_reset(){
    ball.reset();
    bat.reset();
-   new_round=0;
+   ux.reset();
+   _new_round=0;
    direction_set=0;
    fieldersCount=0;
    loft_check=0;
    check_hit=0;
    set_hit=0;
+   set_loft=0;
    ballHit=0;
    init_field_counter=0;
    init_positions();
@@ -51,22 +54,37 @@
 }
 void Cricket::game_reset(){
     round_reset();
-    new_game=1;
+    _new_game=1;
     scoreboard.reset();
     ball.reset_ball_count();
 }
+void Cricket::intro(N5110 &lcd){
+    ux.first_menu(lcd);
+}
 void Cricket::game(N5110 &lcd,Gamepad &pad){
      
-     if (new_game==1){
-         scoreboard.generate_target();
-         ux.first_menu(lcd,pad);
-         //bat.info_screen(lcd,scoreboard.get_target());
-         new_game=0;       
+     if (_new_game==1){
+         new_game(lcd,pad);      
      }
      
-     if (new_round==1){
-        
-        if (scoreboard.compare_target()==true){
+     if (_new_round==1){
+         new_round(lcd,pad);
+     }
+     else{
+        play_game(lcd,pad);
+    }
+}
+
+    
+void Cricket::new_game(N5110 &lcd, Gamepad &pad){
+         _new_game=0; 
+         scoreboard.generate_target();
+         ux.second_menu(lcd);
+         ux.info_screen(lcd,scoreboard.get_target());
+         play_game(lcd,pad); 
+}
+void Cricket::new_round(N5110 &lcd, Gamepad &pad){
+    if (scoreboard.compare_target()==true){
             ux.victory_menu(lcd);
             game_reset();
         }
@@ -82,18 +100,16 @@
           set_field(lcd);
           ball.increment_ball_count();
           play_game(lcd,pad);
-          new_round=0;
-        }
-    }
-    else
-        play_game(lcd,pad);
+          _new_round=0;
+      }
 }
+    
 bool Cricket::check_ball_count(N5110 &lcd){
     int count=ball.get_ball_count();
     if (count==_ball_limit){
-        new_round=1;
+        _new_round=1;
         ball.reset_ball_count();
-        new_game=1;
+        _new_game=1;
         return true;
     }
     else{
@@ -104,7 +120,7 @@
     bool _victory_check=scoreboard.compare_target();
         if (_victory_check==true){
             ux.victory_menu(lcd);
-            new_game=1;
+            _new_game=1;
             ball.reset_ball_count();
         }
 }
@@ -131,12 +147,15 @@
         set_hit=1;
     }
     loft_check=bat.get_loft_ball(ux);
+    if (loft_check==1){
+        set_loft=1;
+    }
     Direction dir=pad.get_direction();
     if (check_bowled!=1){
         check_bowled=ball.ball_start(pad);
     }
     else{
-        update_game(set_hit, loft_check, dir,pad,lcd);
+        update_game(set_hit, set_loft, dir,pad,lcd);
     }
 }
 void Cricket::update_game(int checkHit,int loft_check, Direction dir,Gamepad &pad,N5110 &lcd){
@@ -171,13 +190,13 @@
             scoreboard.update_score(0);
             pad.led(3,1.0);
             wait(0.5);
-            new_round=1;
+            _new_round=1;
         }
         else{
             scoreboard.update_score(runs);
             pad.led(3,1.0);
             wait(0.5);
-            new_round=1;
+            _new_round=1;
         }  
     }
 }
@@ -188,7 +207,7 @@
     //pad.tone(750.0,0.5);
     ball.reset_ball_count();
     ux.game_over_menu(lcd,option);
-    new_round=1;
+    _new_game=1;
     wait(2);
 }    
 void Cricket::draw(N5110 &lcd){