ELEC2645 (2018/19) / Mbed 2 deprecated el17aio

Dependencies:   mbed

RosenEngine/RosenEngine.h

Committer:
ikenna1
Date:
2019-02-27
Revision:
2:66a4e5d7a7cd
Child:
3:f9cd1a38d5c6

File content as of revision 2:66a4e5d7a7cd:

#ifndef ROSENENGINE_H
#define ROSENENGINE_H

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


class RosenEngine
{

public:
   RosenEngine();
    ~RosenEngine();

    void init(int paddle_width,int paddle_height,int ball_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_paddle_collisions(Gamepad &pad);
    void check_goal(Gamepad &pad);
    void print_scores(N5110 &lcd);
    
    Paddle _p1;
    Paddle _p2;
     
    int _paddle_width;
    int _paddle_height;
    int _ball_size;
    int _speed;
    
    // x positions of the paddles
    int _p1x;
    int _p2x;
    
    Ball _ball;
    
    Direction _d;
    float _mag;

};

#endif