Tetris game on mikroTFT touchscreen and LPC1768

Dependencies:   Tetris

Dependents:   Tetris

Committer:
sergun2311
Date:
Mon Feb 20 14:14:30 2017 +0000
Revision:
0:645509d95b8d
Child:
1:b4aa36ae11ac
Tetris - Physics

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sergun2311 0:645509d95b8d 1 #include "Block.h"
sergun2311 0:645509d95b8d 2 #include "mbed.h"
sergun2311 0:645509d95b8d 3 #include "playGround.h"
sergun2311 0:645509d95b8d 4 #include "Piece.h"
sergun2311 0:645509d95b8d 5 #include "Field.h"
sergun2311 0:645509d95b8d 6
sergun2311 0:645509d95b8d 7 Block::Block() {
sergun2311 0:645509d95b8d 8 form = rand() % 7;
sergun2311 0:645509d95b8d 9 angle = rand() % 4;
sergun2311 0:645509d95b8d 10 x = 4 + rand() % 2;
sergun2311 0:645509d95b8d 11 y = 0;
sergun2311 0:645509d95b8d 12 }
sergun2311 0:645509d95b8d 13
sergun2311 0:645509d95b8d 14 Block::~Block() {
sergun2311 0:645509d95b8d 15
sergun2311 0:645509d95b8d 16 }
sergun2311 0:645509d95b8d 17
sergun2311 0:645509d95b8d 18 void Block::rotateLeft() {
sergun2311 0:645509d95b8d 19 angle--;
sergun2311 0:645509d95b8d 20 }
sergun2311 0:645509d95b8d 21
sergun2311 0:645509d95b8d 22 void Block::rotateRight() {
sergun2311 0:645509d95b8d 23 angle++;
sergun2311 0:645509d95b8d 24 }
sergun2311 0:645509d95b8d 25
sergun2311 0:645509d95b8d 26 bool Block::CheckBottom()
sergun2311 0:645509d95b8d 27 {
sergun2311 0:645509d95b8d 28 int xx, yy;
sergun2311 0:645509d95b8d 29 for ( xx = 0 ; xx < 5 ; xx++ ) {
sergun2311 0:645509d95b8d 30 for (yy = 0 ; yy < 5 ; yy++ ) {
sergun2311 0:645509d95b8d 31 if ( (Piece[form][angle][xx][yy] != 0)
sergun2311 0:645509d95b8d 32 && (Field[y + yy - 1][x + xx - 2] != 0) &&
sergun2311 0:645509d95b8d 33 ( y + yy - 3 > 0 ) )
sergun2311 0:645509d95b8d 34 return 1;
sergun2311 0:645509d95b8d 35 if ( (Piece[form][angle][xx][yy] != 0) && ( yy + y == 13 ) )
sergun2311 0:645509d95b8d 36 return 1;
sergun2311 0:645509d95b8d 37 }
sergun2311 0:645509d95b8d 38 }
sergun2311 0:645509d95b8d 39 return 0;
sergun2311 0:645509d95b8d 40 }