ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_ll17lrc_v2

Dependencies:   mbed

Imposs/ImpossEngine.h

Committer:
ll17lrc
Date:
2020-05-25
Revision:
11:7a4abe731f9c
Parent:
10:df6a496270be
Child:
13:fd290d2fd917

File content as of revision 11:7a4abe731f9c:

#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"
#include "Three.h"
#include "Four.h"
#include "Five.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();
    void set_level_two();
    void set_level_three();
    void set_level_four();
    int level;
    
private:

    void check_collision(Gamepad &pad, N5110 &lcd);
    void check_finish(Gamepad &pad);
    
    Ball _ball;
    One _one;
    Zero _zero;
    Two _two;
    Three _three;
    Four _four;
    Five _five;
    
    int x_pos;
    int y_pos;
    int x;
    int y;
    int pos;
    
    Direction _d;
    float _mag;

};

#endif