ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_ll17lrc_v2

Dependencies:   mbed

Imposs/ImpossEngine.h

Committer:
ll17lrc
Date:
2020-05-17
Revision:
4:a9d5fca3b7ba
Parent:
3:4494e6928194
Child:
7:35465b3bf586

File content as of revision 4:a9d5fca3b7ba:

#ifndef IMPOSSENGINE_H
#define IMPOSSENGINE_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Ball.h"
#include "StartMenu.h"
#include "Zero.h"
#include "One.h"

// gap from edge of screen

class ImpossEngine
{

public:
    ImpossEngine();
    ~ImpossEngine();

    void read_input(Gamepad &pad);
    void update(Gamepad &pad,N5110 &lcd, int level);
    void draw(N5110 &lcd);
    void complete(Gamepad &pad,N5110 &lcd);
    void set_level_zero();
    void set_level_one();
    
private:

    void check_collision(Gamepad &pad, N5110 &lcd);
    void check_finish(int level);
    
    Ball _ball;
    One _one;
    Zero _zero;
    
    int level;
    int x_pos;
    int y_pos;
    
    Direction _d;
    float _mag;

};

#endif