Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: Cricket/Cricket.cpp
- 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){