This is a remake of tetris game for mbed. Please see detail here http://developer.mbed.org/users/sucrelv/notebook/tetris-game-on-mbed

Dependencies:   4DGL-uLCD-SE PinDetect SDFileSystem mbed-rtos mbed wave_player

Revision:
0:3b5e97ab5884
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Game.h	Tue Oct 21 15:10:36 2014 +0000
@@ -0,0 +1,56 @@
+#ifndef _GAME_
+#define _GAME_
+
+// ------ Includes -----
+
+#include "Board.h"
+#include "Pieces.h"
+#include "uLCD_4DGL.h"
+
+// ------ Defines -----
+
+#define WAIT_TIME 500           // Number of milliseconds that the piece remains before going 1 block down */ 
+
+
+// --------------------------------------------------------------------------------
+//                                   Game
+// --------------------------------------------------------------------------------
+
+class Game
+{
+public:
+
+    Game (Board *pBoard, Pieces *pPieces, int pScreenHeight, uLCD_4DGL *uLCD,int,int,int,int);
+
+    void DrawScene ();
+    void CreateNewPiece (int,int);
+    void ErasePiece(int x,int y,int piece, int rotation);
+    void DrawBoard ();
+    void AddPoints(int);
+    void AddClearedLines(int);
+    int GetPoints();
+    int GetClearedLines();
+    
+    int mPosX, mPosY;               // Position of the piece that is falling down
+    int mPiece, mRotation;          // Kind and rotation the piece that is falling down
+    int points;
+    int clearedLineCount;
+    
+
+private:
+
+    int mScreenHeight;              // Screen height in pixels
+    int mNextPosX, mNextPosY;       // Position of the next piece
+    int mNextPiece, mNextRotation;  // Kind and rotation of the next piece
+    
+    Board *mBoard;
+    Pieces *mPieces;
+    uLCD_4DGL *uLCD;
+
+    
+    void InitGame(int,int,int,int);
+    void DrawPiece (int pX, int pY, int pPiece, int pRotation, int colorIndex);
+    
+};
+
+#endif // _GAME_