ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19tb

Dependencies:   mbed

Frogger/Frogger.h

Committer:
el19tb
Date:
2020-05-18
Revision:
43:2cd1cfe07770
Parent:
42:04e326dcf09b
Child:
44:f02510eeb165

File content as of revision 43:2cd1cfe07770:

#ifndef FROGGER_H
#define FROGGER_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Frog.h"
#include "Level.h"

#include <vector>

class Frogger
{
    public: 
        
        GraphicEngine *graphics; // local renderer 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:
        int current_level;
        
    public:
    
        Gamepad gamepad; // actual hardware object

        int row_number;
        int grid_width; // screen width in grid units
        int lcd_w;
        int lcd_h;
       
    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);
        
        void move();
        
        void setup();
        void createGoalPost();     
};


#endif