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: Frogger/Frogger.cpp
- Revision:
- 61:3714af9caab6
- Parent:
- 56:2797166656e0
--- a/Frogger/Frogger.cpp Wed May 27 01:21:19 2020 +0000 +++ b/Frogger/Frogger.cpp Wed May 27 01:54:46 2020 +0000 @@ -36,6 +36,7 @@ frogOnLog = false; goal_post_xpos = (36); // generate random position for end post next_goal = false; + // grid values grid = 4; // size of game grid system grid_width = 22; // size of screen width in grid units @@ -112,24 +113,19 @@ { //keep reading and processing user input while(1) { - graphics.clear(); // clear the lcd screen - + graphics.clear(); // clear the lcd screen if(introScreen) { // shows tutorial, setting graphics.getPointerPos(intro.selection); // draw the initial pointer pos home(); // draw menu selections } else if (play_game) { // shows actual gameplay run(); //printf("show turtle state %d" turtle_state); - } else if(tutorial) { gotoPage(); - } else if(bonus_round) { run_bonus(); - } - + } graphics.refresh(); // refresh the lcd screen - wait_ms(85); // fpms } } @@ -192,24 +188,18 @@ void Frogger::run_bonus() { current_level = 0; - checkBonusProgress(); //printf("FROG y position, %d", frog->y); //printf("Display the current level, %d", current_level); - drawBackGround(); - - generateLevelOneGoalPost(); - + drawBackGround(); + generateLevelOneGoalPost(); process_input(); // user controls the frog object - actOnFrogBonus(); - checkFrogInDeathZone(); - + graphics.showFrog(frog->x, frog->y, frog->width, frog->height, state_frog); // display current position of frog - graphics.drawVoidBackGround(); } @@ -375,29 +365,27 @@ return (rand() % 80) + 12; } -void Frogger::process_input() -{ + + +void Frogger::process_input() { //determine the input if(gamepad.A_pressed()){ state_frog = 1; - moveFrog(1,0); + moveFrog(1,0); // move frog right frogOnLog = false; } else if(gamepad.X_pressed()){ state_frog = 0; - moveFrog(0,-1); + moveFrog(0,-1);// move it down frogOnLog = false; - } else if(gamepad.B_pressed()){ state_frog = 3; - moveFrog(0,1); + moveFrog(0,1); // move the frog up frogOnLog = false; - } else if(gamepad.Y_pressed()){ state_frog = 2; - moveFrog(-1,0); + moveFrog(-1,0); // move the frog left frogOnLog = false; } - wait_ms(10); } @@ -557,6 +545,8 @@ updateTurtleState(); } + + void Frogger::updateTurtleState() { switch(turtle_state) @@ -573,12 +563,8 @@ case 3001 ... 4000: turtle_state++; break; - case 4001 ... 5000: - turtle_state++; - break; - case 5001: - turtle_state = 0; - break; + case 4001 ... 5000: turtle_state++; break; + case 5001: turtle_state = 0; break; } } /* ENGINE RUN */ @@ -651,11 +637,11 @@ switch (log.object.dir) { case 1: - frog->x += log.speed; + frog->x += log.speed; // move it right break; case 2: - frog->x = frog->x - log.speed; + frog->x = frog->x - log.speed; // move it left break; }