ELEC2645 (2018/19) / Mbed 2 deprecated el17m2h_public

Dependencies:   mbed

Engine/Engine.h

Committer:
el17m2h
Date:
2019-04-24
Revision:
16:e0542761fc8c
Parent:
15:4efa04a6a376
Child:
17:74de8c17ddac

File content as of revision 16:e0542761fc8c:

#ifndef ENGINE_H
#define ENGINE_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Floors.h"
#include "Doodler.h"

class Engine{
public:
    Engine();
    ~Engine();
    void init(int floors_width, int floors_height, int doodler_radius);
    void read_input(Gamepad &pad);
    void update(Gamepad &pad);
    void draw(N5110 &lcd);
    void check_floors_collision();
    
private:    
    Bullet _b1;
    Bullet _b2;
    Bullet _b3;
    
    Floors _f; 
    Floors _f1; 
    Floors _f2; 
    Floors _f3; 
    Floors _f4;
    Floors _f5; 
    Floors _f6; 
    Floors _f7; 
    Floors _f8; 
    Floors _f9;
    
    int _floors_height;
    int _floors_width;
    
    // x and y positions of the floors
    Vector2D _f_pos;
    Vector2D _f1_pos;
    Vector2D _f2_pos;
    Vector2D _f3_pos;
    Vector2D _f4_pos;
    Vector2D _f5_pos;
    Vector2D _f6_pos;
    Vector2D _f7_pos;
    Vector2D _f8_pos;
    Vector2D _f9_pos;
    
    Doodler _dood;
    int    _doodler_radius;
    float  _doodler_pos_x;
    float  _doodler_pos_y;
    float  _doodler_vel_x;
    double _doodler_vel_y;
    
    Direction _d;
    float _mag;
    bool _button_A;
    bool _button_B;
    bool _button_X;
    bool _button_Y;
};
#endif