ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_ll17lrc_v2

Dependencies:   mbed

Imposs/ImpossEngine.h

Committer:
ll17lrc
Date:
2020-05-18
Revision:
8:10eb578dd754
Parent:
7:35465b3bf586
Child:
9:e2dd152867d1

File content as of revision 8:10eb578dd754:

#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"
#include "Two.h"

// gap from edge of screen

class ImpossEngine
{

public:
    ImpossEngine();
    ~ImpossEngine();

    void read_input(Gamepad &pad);
    void update(Gamepad &pad,N5110 &lcd);
    void draw(N5110 &lcd,Gamepad &pad);
    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();
    
    Ball _ball;
    One _one;
    Zero _zero;
    Two _two;
    
    int level;
    int x_pos;
    int y_pos;
    int x;
    int y;
    int pos;
    
    Direction _d;
    float _mag;

};

#endif