Linyan Shi
/
cn17lys
N5110
Diff: PongEngine/PongEngine.h
- Revision:
- 0:90b7f20b3a8d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PongEngine/PongEngine.h Tue Apr 28 01:39:30 2020 +0000 @@ -0,0 +1,51 @@ +#ifndef PONGENGINE_H +#define PONGENGINE_H + +#include "mbed.h" +#include "N5110.h" +#include "Gamepad.h" +#include "Ball.h" +#include "Paddle.h" + +// gap from edge of screen +#define GAP 2 + +class PongEngine +{ + +public: + PongEngine(); + ~PongEngine(); + + 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 \ No newline at end of file