Tetris game on mikroTFT touchscreen and LPC1768
main.cpp@1:b4aa36ae11ac, 2017-02-25 (annotated)
- Committer:
- sergun2311
- Date:
- Sat Feb 25 23:52:28 2017 +0000
- Revision:
- 1:b4aa36ae11ac
- Parent:
- 0:645509d95b8d
- Child:
- 2:6b6986c3d2bd
Tetris with gestures
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sergun2311 | 0:645509d95b8d | 1 | #include "mbed.h" |
sergun2311 | 0:645509d95b8d | 2 | #include <ctime> |
sergun2311 | 0:645509d95b8d | 3 | #include "playGround.h" |
sergun2311 | 0:645509d95b8d | 4 | #include "Block.h" |
sergun2311 | 1:b4aa36ae11ac | 5 | #include "Field.h" |
sergun2311 | 0:645509d95b8d | 6 | |
sergun2311 | 1:b4aa36ae11ac | 7 | #define SPEED 100 |
sergun2311 | 0:645509d95b8d | 8 | |
sergun2311 | 0:645509d95b8d | 9 | int main() |
sergun2311 | 0:645509d95b8d | 10 | { |
sergun2311 | 1:b4aa36ae11ac | 11 | int score = 0; |
sergun2311 | 1:b4aa36ae11ac | 12 | bool flag; |
sergun2311 | 0:645509d95b8d | 13 | clock_t start_s; |
sergun2311 | 0:645509d95b8d | 14 | TFTInit(); |
sergun2311 | 0:645509d95b8d | 15 | drawMap(); |
sergun2311 | 0:645509d95b8d | 16 | while (1) { |
sergun2311 | 0:645509d95b8d | 17 | Block NewBlock; |
sergun2311 | 1:b4aa36ae11ac | 18 | flag = false; |
sergun2311 | 0:645509d95b8d | 19 | drawMap(); |
sergun2311 | 1:b4aa36ae11ac | 20 | while( !flag ) { |
sergun2311 | 0:645509d95b8d | 21 | drawMap(); |
sergun2311 | 0:645509d95b8d | 22 | drawBlock(NewBlock); |
sergun2311 | 1:b4aa36ae11ac | 23 | start_s = clock(); |
sergun2311 | 0:645509d95b8d | 24 | while( start_s + SPEED > clock() ) { |
sergun2311 | 1:b4aa36ae11ac | 25 | if ( TouchStatus() ) { |
sergun2311 | 1:b4aa36ae11ac | 26 | clrBlock(NewBlock); |
sergun2311 | 1:b4aa36ae11ac | 27 | NewBlock = doGest(NewBlock); |
sergun2311 | 1:b4aa36ae11ac | 28 | drawBlock(NewBlock); |
sergun2311 | 1:b4aa36ae11ac | 29 | wait_ms(50); |
sergun2311 | 1:b4aa36ae11ac | 30 | } |
sergun2311 | 0:645509d95b8d | 31 | } |
sergun2311 | 0:645509d95b8d | 32 | if ( NewBlock.CheckBottom() ) { |
sergun2311 | 0:645509d95b8d | 33 | saveToField(NewBlock); |
sergun2311 | 1:b4aa36ae11ac | 34 | flag = true; |
sergun2311 | 0:645509d95b8d | 35 | } else { |
sergun2311 | 0:645509d95b8d | 36 | clrBlock(NewBlock); |
sergun2311 | 0:645509d95b8d | 37 | NewBlock.y += 1; |
sergun2311 | 1:b4aa36ae11ac | 38 | drawBlock(NewBlock); |
sergun2311 | 0:645509d95b8d | 39 | } |
sergun2311 | 0:645509d95b8d | 40 | } |
sergun2311 | 1:b4aa36ae11ac | 41 | score += checkLine(); |
sergun2311 | 1:b4aa36ae11ac | 42 | if ( checkGameOver() ) |
sergun2311 | 1:b4aa36ae11ac | 43 | break; |
sergun2311 | 0:645509d95b8d | 44 | } |
sergun2311 | 1:b4aa36ae11ac | 45 | gameOver(score); |
sergun2311 | 0:645509d95b8d | 46 | } |