Tetris game on mikroTFT touchscreen and LPC1768
Diff: Field.cpp
- Revision:
- 3:36de55e63fdf
- Parent:
- 1:b4aa36ae11ac
- Child:
- 4:107d1d5a642e
--- a/Field.cpp Fri Mar 03 13:19:26 2017 +0000 +++ b/Field.cpp Sat Mar 11 19:50:03 2017 +0000 @@ -1,5 +1,6 @@ #include "Field.h" #include "playGround.h" +#include "Piece.h" #define BLACK 0 #define MAXX 10 @@ -10,9 +11,9 @@ int checkLine() { int x, y, score = 0; bool status; - for ( y = 0 ; y < 12 ; y++ ) { + for ( y = 0 ; y < MAXY ; y++ ) { status = true; - for ( x = 0 ; x < 10 ; x++ ) { + for ( x = 0 ; x < MAXX ; x++ ) { if ( Field[y][x] == BLACK ) status = false; } @@ -20,7 +21,7 @@ score += 100; int xx, yy; for ( yy = y ; yy > 0 ; yy-- ) { - for (xx = 0 ; xx < 10 ; xx++ ) { + for (xx = 0 ; xx < MAXX ; xx++ ) { Field[yy][xx] = Field[yy-1][xx]; } @@ -35,8 +36,20 @@ bool checkGameOver() { int x; - for ( x = 0 ; x < 10 ; x++ ) + for ( x = 0 ; x < MAXX ; x++ ) if ( Field[0][x] != BLACK ) return true; return false; +} + +void saveToField(Block NewBlock) +{ + int xx , yy; + for ( xx = 0 ; xx < 5 ; xx++ ) { + for (yy = 0 ; yy < 5 ; yy++ ) { + if ( Piece[NewBlock.form][NewBlock.angle][xx][yy] != 0 ) + Field[NewBlock.y + yy - 2][NewBlock.x + xx - 2] = + Piece[NewBlock.form][NewBlock.angle][xx][yy]; + } + } } \ No newline at end of file