James Heavey
/
EL17JH
FINAL VERSION
BreakoutEngine/BreakoutEngine.h
- Committer:
- jamesheavey
- Date:
- 2019-05-07
- Revision:
- 99:d8f1570faa05
- Parent:
- 92:2e6d88e44f56
- Child:
- 105:4e7585d8e5e2
File content as of revision 99:d8f1570faa05:
#ifndef BREAKOUTENGINE_H #define BREAKOUTENGINE_H #include "mbed.h" #include "N5110.h" #include "Gamepad.h" #include "Ball.h" #include "Paddle.h" #include "Brick.h" #include "Laser.h" #include <list> #include <iterator> #define GAP_TOP 10 #define GAP 2 /* BreajoutEngine Class @author James Heavey, University of Leeds @brief Controls the Breakout game @date May 2019 */ class BreakoutEngine { public: BreakoutEngine(); ~BreakoutEngine(); void init(int paddle_width,int paddle_height,int ball_size,int speed); void read_input(Gamepad &pad, bool tilt, float sens); void update(Gamepad &pad); void draw(N5110 &lcd); void lives_leds(Gamepad &pad); int get_lives(); int get_num_left(); int get_prev_score(); void set_prev_score(int prev_score); bool check_loss(Gamepad &pad); void inc_index(); void reset_index(); void reset_game(); void reset_num_left(); int get_score(); void inc_mult(); void set_mult_one(); int get_mult(); private: void check_wall_collisions(Gamepad &pad); void check_paddle_collisions(Gamepad &pad); void check_brick_collisions(Gamepad &pad); void check_laser_collisions(Gamepad &pad); void print_scores(N5110 &lcd); void dec_num_left(); int _paddle_width; int _paddle_height; int _ball_size; int _speed; int _index; int _multiplier; double _cool_time; int _paddley; int _number_left; int _prev_score; int _score; Direction _d; float _mag; Paddle _paddle; Ball _ball; std::list<Laser> listofLasers; std::list<Laser>::iterator it_L; std::list<Brick> listofBricks; std::list<Brick>::iterator it_R; Brick _brick11; Brick _brick12; Brick _brick13; Brick _brick14; Brick _brick15; Brick _brick16; Brick _brick21; Brick _brick22; Brick _brick23; Brick _brick24; Brick _brick25; Brick _brick26; Brick _brick31; Brick _brick32; Brick _brick33; Brick _brick34; Brick _brick35; Brick _brick36; Laser _laser1; Laser _laser2; Laser _laser3; }; #endif