Thomas Davies / Mbed 2 deprecated LetTheBallDrop

Dependencies:   N5110 mbed PowerControl

Revision:
2:d4402bc3dd45
Parent:
1:3305d7e44880
Child:
4:f8d04c073730
--- a/GameScreen.h	Sat Mar 07 09:58:29 2015 +0000
+++ b/GameScreen.h	Sat Mar 07 13:49:53 2015 +0000
@@ -7,6 +7,22 @@
 //GameScreen class is an extension of the base Nokia Library Created by Craig Evans
 // This extension adds functionality relevant to 'Fall Down Game'. 
 // drawPlatform, drawBall, drawScore etc....
+// # of platforms defined and can be altered/
+// updates platforms at speed proportional to speedOfPlatforms_
+// manages location and state of all platforms + player ball
+
+//ISSUES:
+//  text is written in wrong plane. Easy fix if I had access to private members of N5110...could just edit lib...
+//      could also override current fontarray... look into this later.
+//
+//
+
+
+struct Platform {
+    int id;     //for identifying.
+    int x;      //col of gap
+    int y;      //row    
+};
 
 class GameScreen: public N5110::N5110
 {   
@@ -18,18 +34,33 @@
     
     //draw horizontal platform where y top pixel layer location. x hole location
     void drawPlatform(int x,int y);
+    void erasePlatform(int y);
+    void drawBall(int x, int y);
+    void eraseBall(int x, int y);
+    void createAllPlatforms();
+    void freeAllPlatforms();        //garbage cleanup
+    void drawAllPlatforms();
+    void eraseAllPlatforms();
+    void shiftAllPlatformsUp();     //move all platforms up 1 pixel        
     
-    //Accessors
+    //Read Only
     int maxY(){ return maxY_; }
     int maxX(){ return maxX_; }
+    int platThickness() {return platThickness_;}
+    int ballRadius() {return ballRadius_;}
     
+    Platform *allPlatforms[6];      //public for testing...
     
 private:
-    int platGapSize;
-    int platThickness;
-    int maxX_;
-    int maxY_;
-    
+    static const int platGapSize_ = 8;          //standard platform gap width in pixels
+    static const int platThickness_ = 2;        //platform thickness in pixels
+    static const int platSpacing_ = 14;         // subsequent platform spacing in pixels
+    static const int maxX_ = 48;                // maximun horizontal pixel
+    static const int maxY_ = 84;                // maximum vertical pixel
+    static const int ballRadius_ = 4;           // size of player ball
+    static const int numPlatforms_ = 6;         // total number of platforms
+    //Platform *allPlatforms[numPlatforms_];      //array used to track each platform, and refresh when needed!    
 };
 
+
 #endif
\ No newline at end of file