Tetris game on mikroTFT touchscreen and LPC1768

Dependencies:   Tetris

Dependents:   Tetris

Committer:
sergun2311
Date:
Sat Feb 25 23:52:28 2017 +0000
Revision:
1:b4aa36ae11ac
Parent:
0:645509d95b8d
Child:
3:36de55e63fdf
Tetris with gestures

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sergun2311 0:645509d95b8d 1 #include "Field.h"
sergun2311 1:b4aa36ae11ac 2 #include "playGround.h"
sergun2311 0:645509d95b8d 3
sergun2311 1:b4aa36ae11ac 4 #define BLACK 0
sergun2311 0:645509d95b8d 5 #define MAXX 10
sergun2311 0:645509d95b8d 6 #define MAXY 12
sergun2311 0:645509d95b8d 7
sergun2311 1:b4aa36ae11ac 8 extern int Field[MAXY][MAXX] = {0};
sergun2311 1:b4aa36ae11ac 9
sergun2311 1:b4aa36ae11ac 10 int checkLine() {
sergun2311 1:b4aa36ae11ac 11 int x, y, score = 0;
sergun2311 1:b4aa36ae11ac 12 bool status;
sergun2311 1:b4aa36ae11ac 13 for ( y = 0 ; y < 12 ; y++ ) {
sergun2311 1:b4aa36ae11ac 14 status = true;
sergun2311 1:b4aa36ae11ac 15 for ( x = 0 ; x < 10 ; x++ ) {
sergun2311 1:b4aa36ae11ac 16 if ( Field[y][x] == BLACK )
sergun2311 1:b4aa36ae11ac 17 status = false;
sergun2311 1:b4aa36ae11ac 18 }
sergun2311 1:b4aa36ae11ac 19 if ( status ) {
sergun2311 1:b4aa36ae11ac 20 score += 100;
sergun2311 1:b4aa36ae11ac 21 int xx, yy;
sergun2311 1:b4aa36ae11ac 22 for ( yy = y ; yy > 0 ; yy-- ) {
sergun2311 1:b4aa36ae11ac 23 for (xx = 0 ; xx < 10 ; xx++ ) {
sergun2311 1:b4aa36ae11ac 24 Field[yy][xx] = Field[yy-1][xx];
sergun2311 1:b4aa36ae11ac 25 }
sergun2311 1:b4aa36ae11ac 26
sergun2311 1:b4aa36ae11ac 27 }
sergun2311 1:b4aa36ae11ac 28 }
sergun2311 1:b4aa36ae11ac 29 }
sergun2311 1:b4aa36ae11ac 30 if (score)
sergun2311 1:b4aa36ae11ac 31 drawMapV2();
sergun2311 1:b4aa36ae11ac 32 return score;
sergun2311 1:b4aa36ae11ac 33 }
sergun2311 1:b4aa36ae11ac 34
sergun2311 1:b4aa36ae11ac 35 bool checkGameOver()
sergun2311 1:b4aa36ae11ac 36 {
sergun2311 1:b4aa36ae11ac 37 int x;
sergun2311 1:b4aa36ae11ac 38 for ( x = 0 ; x < 10 ; x++ )
sergun2311 1:b4aa36ae11ac 39 if ( Field[0][x] != BLACK )
sergun2311 1:b4aa36ae11ac 40 return true;
sergun2311 1:b4aa36ae11ac 41 return false;
sergun2311 1:b4aa36ae11ac 42 }