ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_ll17lrc_v2

Dependencies:   mbed

Imposs/ImpossEngine.h

Committer:
ll17lrc
Date:
2020-05-16
Revision:
3:4494e6928194
Parent:
2:823dea76ff2e
Child:
4:a9d5fca3b7ba

File content as of revision 3:4494e6928194:

#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 ball_x_pos,int ball_y_pos);
    void draw(N5110 &lcd);
    void complete(Gamepad &pad,N5110 &lcd, int level);
    
    int level;
    
private:

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

};

#endif