ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19tb

Dependencies:   mbed

Revision:
42:04e326dcf09b
Parent:
37:65c9e5a65738
Child:
43:2cd1cfe07770
--- a/Frogger/Frogger.h	Mon May 18 03:12:30 2020 +0000
+++ b/Frogger/Frogger.h	Mon May 18 04:39:06 2020 +0000
@@ -10,31 +10,15 @@
 
 #include <vector>
 
-struct Water
-{
-    int x;
-    int row;
-    char c;
-    float speed;
-}; 
-
-struct Safety
-{
-    int x;
-    int row;
-    char c;    
-};
-
 class Frogger
 {
     public: 
         
         GraphicEngine *graphics; // local renderer object
-        Level *levelptr; // local level object
+        Level *level; // local level object
         Frog *frog;
         int grid; // size of one game unit
        
-
         Frogger(GraphicEngine *engine, Level *levelptr, Frog *frog, int grid, int w, int h); // constructor
         
     public:
@@ -42,25 +26,43 @@
         
     public:
     
-        Gamepad gamepad;
+        Gamepad gamepad; // actual hardware object
+        
         int row_number;
         int grid_width; // screen width in grid units
         int lcd_w;
         int lcd_h;
+        int current_level;
         
-        std::vector<Background> roads;
-        std::vector<Safety> safety_lane;
-        std::vector<Water> water;
-        int grid; // size of game unit grids in the screen
        
     public:
         void start();
         void input();  
         void process_input(); 
         void clear();
-        
+
+        void runCurrentLevel();
+        void initializeLevelTwo();
+        void initializeParams(int w, int h, int grid);
+        void initializeEmbeddedSystem();
+        void checkCurrentLevelCollision();
+        void checkIfFrogIsInWater();
+        void moveFrog(int xWay, int yWay);
         void game();
         void refresh();
+        void createWaterLane();
+        void createMultipleLanesWater();
+        void drawRoadObjects();
+        void createRoadLane();
+        void createMultipleRoadLane();
+        void drawSafety();
+        void createSafetyObject();
+        void createMultipleSafetyLane();
+
+        void drawEndPost();
+        void drawWater();
+        void loopWater();
+        void moveWater();
          
         void moveChicken(int xWay, int yWay);
         
@@ -70,7 +72,8 @@
         void setup();
         void setCollision(Car* object);
         void frogOnLog(Car* car);
-        bool returnCollision(Car* log);       
+        bool returnCollision(Car* log);  
+        void createGoalPost();     
 };