FINAL VERSION

Dependencies:   mbed

Revision:
27:1b5038b0a7a2
Child:
29:5168318d3e88
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BreakoutEngine/BreakoutEngine.h	Wed Apr 24 05:04:01 2019 +0000
@@ -0,0 +1,94 @@
+#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 <cmath>
+#include <list>
+#include <iostream>
+#include <string>
+#include <iterator>
+#include <algorithm>
+
+// gap from edge of screen
+#define GAP 2
+#define BRICK_WIDTH 12
+#define BRICK_HEIGHT 4
+#define PADDLE_WIDTH 15
+
+class BreakoutEngine
+{
+
+public:
+    BreakoutEngine();
+    ~BreakoutEngine();
+
+    void init(int paddle_width,int paddle_height,int ball_size,int speed);
+    void read_input(Gamepad &pad, bool x);
+    void update(Gamepad &pad);
+    void draw(N5110 &lcd);
+    void lives_leds(Gamepad &pad);
+    void flash_backlight(N5110 &lcd);
+    int get_lives();
+    int get_num_left();
+    bool check_goal(Gamepad &pad);
+    
+private:
+
+    void check_wall_collision(Gamepad &pad);
+    void check_paddle_collisions(Gamepad &pad);
+    void check_brick_collisions(Gamepad &pad);
+    void print_scores(N5110 &lcd);
+    void one_less();
+    
+    Paddle _p1;
+     
+    int _paddle_width;
+    int _paddle_height;
+    int _ball_size;
+    int _speed;
+    
+    // y positions of the paddle
+    int _p1y;
+    int _number_left;
+    
+    Ball _ball;
+    
+    Direction _d;
+    float _mag;
+    
+    
+    std::list<Brick> listofBricks;
+    std::list<Brick>::iterator it;
+    
+    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;
+    
+    
+
+};
+
+#endif
\ No newline at end of file