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.h
- Revision:
- 44:f02510eeb165
- Parent:
- 43:2cd1cfe07770
- Child:
- 46:e39abe665271
diff -r 2cd1cfe07770 -r f02510eeb165 Frogger/Frogger.h --- a/Frogger/Frogger.h Mon May 18 06:34:53 2020 +0000 +++ b/Frogger/Frogger.h Fri May 22 06:37:50 2020 +0000 @@ -4,24 +4,35 @@ #include "mbed.h" #include "N5110.h" #include "Gamepad.h" + #include "Frog.h" -#include "Level.h" +#include "Menu.h" +#include "GraphicEngine.h" +#include "WaterSprites.h" +#include "Vehicle.h" +#include "Background.h" #include <vector> +#include <stdio.h> +#include <cstddef> +#include <vector> class Frogger { public: - GraphicEngine *graphics; // local renderer object - Level *level; // local level object - Frog *frog; + //GraphicEngine *graphics; // local renderer object + Frog *frog; // one frog object + int grid; // size of one game unit - Frogger(GraphicEngine *engine, Level *levelptr, Frog *frog, int grid, int w, int h); // constructor + Frogger(); + Frogger(Frog *frog, int grid, int w, int h); // constructor public: int current_level; + bool frogWater; + bool frogOnLog; // attached public: @@ -31,15 +42,116 @@ int grid_width; // screen width in grid units int lcd_w; int lcd_h; + + public: + + // Level One Car objects + Object car_row_one_one[3]; + Object car_row_two_one[2]; + Object car_row_three_one[3]; + Object car_row_four_one[4]; + + // Level One Log objects + Object row_one_log[3]; // large sized + Object row_two_log[2]; // medium sized + Object row_three_log[3]; // large sized + + // Level two Car Objects + Object car_row_one_two[4]; + Object car_row_two_two[3]; + Object car_row_three_two[4]; + Object car_row_four_two[3]; + + // level two log objects + Object level_row_one[2]; + Object level_row_two[2]; + Object level_row_three[3]; + + public: + void checkFrogOnWater(); + void checkFrogAction(Object *log); + void setupLevelTwoRows(); + void moveFrogWithLog(Object *log); + + void levelOneCollision(); + void levelTwoCollision(); + void checkCollison(Object *object); + + void setupRowDistance(Object *objects, int dis, int array_size); + void setDistance(Object *object, int dis); + + void setRowObjects(Object *objecs, int row, int array_size); + void createRow(Object *object, int row); + + void setSpriteObjects(Object *objects, char c, int array_size); + void setSprite(Object *object, char c); + + void setDirObjects(Object *objecs, int dir, int array_size); + void setDir(Object *objecs, int dir); + + //void moveLogLevelTwo(); + + void moveLogsLevelOne(); + + void moveLogsLevelTwo(); + + + void speedSlow(); + void speedMedium(); + void speedFast(); + + // LEVEL ONE FUNCTIONS + void setupLevelOne(); + + // set up vehicles + void setupLevelOneRow(); + void setupLevelOneXPos(); + void setupLevelOneSprites(); + void setupLevelOneDir(); + + // set up logs + void setupLogsLevelOne(); + + void setLogLevelOneXPos(); + void setLogLevelOneRow(); + void setLogLevelOneDir(); + void setLogLevelOneSprites(); + + // LEVEL TWO FUNCTIONS + void setupLevelTwo(); + int randCars(); + + // setup vehicles + void setupLevelTwoXPos(); + void setupLevelTwoSprites(); + void setupLevelTwoDir(); + + //log objects + void setupLogLevelTwo(); + + void setLogLevelTwoXPos(); + void setLogLevelTwoRow(); + void setLogLevelTwoSprite(); + void setLogLevelTwoDir(); + void initializeLevelTwo(); + + void displayObject(Object &temp_object); public: + void start(); void input(); void process_input(); void clear(); + void runLevelOne(); + void runLevelTwo(); + void moveVehiclesLevelOne(); + void moveVehiclesLevelTwo(); + void moveVehicle(Object *row, char c, int array_size); + void moveIndividualObject(Object *vehicle, char c); + void checkOutOfBounds(Object *vehicle); void runCurrentLevel(); - void initializeLevelTwo(); void initializeParams(int w, int h, int grid); void initializeEmbeddedSystem(); void checkCurrentLevelCollision(); @@ -61,13 +173,15 @@ void loopWater(); void moveWater(); - void moveChicken(int xWay, int yWay); void move(); - + void checkFrogOutOfBounds(); + void setup(); void createGoalPost(); }; +#endif -#endif \ No newline at end of file + +