ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19tb

Dependencies:   mbed

CrossyChicken/CrossyChicken.h

Committer:
el19tb
Date:
2020-05-14
Revision:
17:67dbdfcdcec2
Parent:
15:b15bf9357cd9
Child:
18:6be4c3c94a3d

File content as of revision 17:67dbdfcdcec2:

#ifndef CROSSYCHICKEN_H
#define CROSSYCHICKEN_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Chicken.h"
#include "Car.h"
#include "Level.h"
#include "Vehicle.h"

#include <vector>

struct Input{
    //UP, 
    //DOWN, 
    //LEFT,
    //RIGHT
};

struct Water
{
    char sprite;
    int row;
    float speed;
    int x;
    int y;
}; 

class CrossyChicken {
    public: 
       
        Level *local_level;
        int row_number;
        
        std::vector<Water> row_water_one; // multiple water objects
        std::vector<Water> row_water_two; // multiple water objects
        std::vector<Water> row_water_three; // multiple water objects
        std::vector<Water>::size_type it; // iterator used to fill the vector

       CrossyChicken(Level *level); 
       
    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