ELEC2645 (2018/19) / Mbed 2 deprecated ml16c5l

Dependencies:   mbed

CopterEngine/CopterEngine.h

Committer:
ml16c5l
Date:
2019-04-09
Revision:
3:5d860d0d589e

File content as of revision 3:5d860d0d589e:

#ifndef COPTERENGINE_H
#define COPTERENGINE_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Copter.h"
#include "Wall.h"

// gap from edge of screen
#define GAP 2

class CopterEngine
{

public:
    CopterEngine();
    ~CopterEngine();

    void init(int copter_width,int copter_height,int wall_size,int speed);
    void read_input(Gamepad &pad);
    void update(Gamepad &pad);
    void draw(N5110 &lcd);
    
private:

    void check_wall_collision(Gamepad &pad);
    void check_wall_collisions(Gamepad &pad);
    void check_goal(Gamepad &pad);
    void print_scores(N5110 &lcd);
    
    Wall _p1;
    
     
    int _copter_width;
    int _copter_height;
    int _wall_size;
    int _speed;
    
    // x positions of the paddles
    int _p1x;
  
    
    Copter _copter;
    
    Direction _d;
    float _mag;

};

#endif