ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19tb

Dependencies:   mbed

Frogger/Frogger.h

Committer:
el19tb
Date:
2020-05-16
Revision:
29:2151cd327a36
Parent:
CrossyChicken/CrossyChicken.h@ 19:6d9721ffc078
Child:
37:65c9e5a65738

File content as of revision 29:2151cd327a36:

#ifndef FROGGER_H
#define FROGGER_H

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

#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 *level; // local level object
        Frog *frog;
        CrossyChicken(GraphicEngine *engine, Level *level, Frog *frog); // constructor
        
    public:
    
        Gamepad gamepad;
        int row_number;
        int grid_width; // screen width in grid units
        int screenW;
        int screenH;
        
        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 game();
        void refresh();
         
        void moveChicken(int xWay, int yWay);
        
        void moveCar(Car *car, int dir, int x);
        void move();
        
        void setup();
        void setCollision(Car* object);
        void frogOnLog(Car* car);
        bool returnCollision(Car* log);
         
    private:
};


#endif