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:
- 51:4c1f49729d88
- Parent:
- 50:9ffeb4a10c0a
- Child:
- 52:1145e99264ea
--- a/Frogger/Frogger.cpp Mon May 25 02:18:57 2020 +0000 +++ b/Frogger/Frogger.cpp Mon May 25 16:58:50 2020 +0000 @@ -29,6 +29,7 @@ lcd_h = h; // height state_frog = 0; end_post = false; + turtle_state = 0; water_level = 48- 4*6; // row 7 and up is the water level frogDie = false; @@ -67,6 +68,15 @@ setupLogsLevelOne(); } +void Frogger::setupBonusRound() +{ + // setup vehicles + setupLevelTwoRows(); + setupLevelTwoXPos(); + setupLevelTwoSprites(); + setupLevelTwoDir(); +} + // called by frogger engine void Frogger::setupLevelTwo() { @@ -128,18 +138,17 @@ { graphics.clear(); graphics.newLevel1(); - wait_ms(1000); - graphics.refresh(); // refresh the lcd screen - - graphics.refresh(); // refresh the lcd screen - graphics.clear(); - graphics.newLevel2(); - wait_ms(1000); + wait_ms(1000); graphics.refresh(); // refresh the lcd screen graphics.refresh(); // refresh the lcd screen graphics.clear(); - graphics.newLevelIntro(); + graphics.newLevel2(); + wait_ms(1000); + graphics.refresh(); // refresh the lcd screen + + graphics.refresh(); // refresh the lcd screen + graphics.clear(); wait_ms(1000); graphics.refresh(); // refresh the lcd screen } @@ -161,24 +170,14 @@ void Frogger::checkProgression() { -//frog->x > 80 && frog->x < 90 && - if((frog->y == 48 - 4*11 || frog->y == 48 - 4*10)){ - exit(1); + if((frog->y == 48 - 4*11 || frog->y == 48 - 4*10)){ + displayLevelIntro(); + frog->reset(); + setupLevelTwo(); + current_level++; } - } -/* -void Frogger::goalReached() -{ - if(!(frog->up >= goal_post->rectangle.bottom || - (frog->right_side <= goal_post->rectangle.left_side) || - (frog->down <= goal_post->rectangle.up) || - (frog->left_side >= goal_post->rectangle.right_side))) { - next_goal = true; - } -}*/ - void Frogger::actOnFrogPos() { if(frog->y >= water_level) @@ -190,7 +189,7 @@ frogDie = true; runCurrentLevel(); // add velocity to level vehicles and logs - if((!frogOnLog) && frog->y != (48 - 4*10)){ + if((!frogOnLog) && (frog->y != 48 - 4*11 && frog->y != 48 - 4*10) && frog->x != 42){ frog->reset(); } } @@ -226,7 +225,6 @@ { case 0: play_game = true; - introScreen = false; tutorial = false; settings = false; @@ -293,16 +291,7 @@ graphics.drawEndPost(goal_post_xpos); } -/* -void Frogger::setUpGoalPost() -{ - int y = (48 - 4*11); - goal_post->rectangle.left_side = goal_post_xpos; - goal_post->rectangle.right_side = 12 + goal_post_xpos; - goal_post->rectangle.up = 8; - goal_post->rectangle.bottom = 8 + y; -} -*/ + int Frogger::randEndPost() { return (rand() % 80) + 12; @@ -376,14 +365,12 @@ { moveVehiclesLevelOne(); // increment the x pos and display moveLogsLevelOne(); - //checkFrogOnWater(); // check if the frog needs to jump on log/turtles } void Frogger::runLevelTwo() { moveVehiclesLevelTwo(); moveLogsLevelTwo(); - //checkFrogOnWater(); // check if it is above a certain height } /* ENGINE CALLS */ @@ -657,8 +644,8 @@ void Frogger::setLogLevelTwoSprite() { - setSpriteObjects(level_row_one, 'G', 2); - setSpriteObjects(level_row_two, 'M', 2); + setSpriteObjects(level_row_one, 'M', 2); + setSpriteObjects(level_row_two, 'T', 2); setSpriteObjects(level_row_three, 'G', 3); }