Tetris game on mikroTFT touchscreen and LPC1768
Diff: Piece.cpp
- Revision:
- 4:107d1d5a642e
- Parent:
- 2:6b6986c3d2bd
--- a/Piece.cpp Sat Mar 11 19:50:03 2017 +0000 +++ b/Piece.cpp Sat Mar 18 14:45:16 2017 +0000 @@ -1,233 +1,230 @@ #include "Piece.h" +#include "Define.h" -#define Blue 0x001F -#define Green 0x07E0 -#define Red 0xF800 -#define Yellow 0xFFE0 -#define Orange 0xFD20 -#define GreenYellow 0xAFE5 -#define Magenta 0xF81F +// Defining of Pieces (Blocks/Shapes) +// Here is 7 types of PIECES, eack with 4 different angles +// and consists of matixes of colors, sized 5x5 const int Piece [ 7 ][ 4 ][ 5 ][ 5 ] = { - { - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, 0, Blue, Blue, 0}, - {0, 0, Blue, Blue, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, 0, Blue, Blue, 0}, - {0, 0, Blue, Blue, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, 0, Blue, Blue, 0}, - {0, 0, Blue, Blue, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, 0, Blue, Blue, 0}, - {0, 0, Blue, Blue, 0}, - {0, 0, 0, 0, 0} - } - }, - -// I - { { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {Green, Green, Green, Green, 0}, - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, Green, 0, 0}, - {0, 0, Green, 0, 0}, - {0, 0, Green, 0, 0}, - {0, 0, Green, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {Green, Green, Green, Green, 0}, - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0} + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, Blue, Blue, 0}, + {0, 0, Blue, Blue, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, Blue, Blue, 0}, + {0, 0, Blue, Blue, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, Blue, Blue, 0}, + {0, 0, Blue, Blue, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, Blue, Blue, 0}, + {0, 0, Blue, Blue, 0}, + {0, 0, 0, 0, 0} + } }, - { - {0, 0, Green, 0, 0}, - {0, 0, Green, 0, 0}, - {0, 0, Green, 0, 0}, - {0, 0, Green, 0, 0}, - {0, 0, 0, 0, 0} + +// I + { + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {Green, Green, Green, Green, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, Green, 0, 0}, + {0, 0, Green, 0, 0}, + {0, 0, Green, 0, 0}, + {0, 0, Green, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {Green, Green, Green, Green, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, Green, 0, 0}, + {0, 0, Green, 0, 0}, + {0, 0, Green, 0, 0}, + {0, 0, Green, 0, 0}, + {0, 0, 0, 0, 0} + } } - } - , + , // L - { - { - {0, 0, 0, 0, 0}, - {0, 0, Red, 0, 0}, - {0, 0, Red, 0, 0}, - {0, 0, Red, Red, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, Red, Red, Red, 0}, - {0, Red, 0, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, Red, Red, 0, 0}, - {0, 0, Red, 0, 0}, - {0, 0, Red, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, Red, 0}, - {0, Red, Red, Red, 0}, - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0} - } - }, -// L mirrored - { - { - {0, 0, 0, 0, 0}, - {0, 0, Yellow, 0, 0}, - {0, 0, Yellow, 0, 0}, - {0, Yellow, Yellow, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, Yellow, 0, 0, 0}, - {0, Yellow, Yellow, Yellow, 0}, - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0} + { + { + {0, 0, 0, 0, 0}, + {0, 0, Red, 0, 0}, + {0, 0, Red, 0, 0}, + {0, 0, Red, Red, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, Red, Red, Red, 0}, + {0, Red, 0, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, Red, Red, 0, 0}, + {0, 0, Red, 0, 0}, + {0, 0, Red, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, Red, 0}, + {0, Red, Red, Red, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} + } }, - { - {0, 0, 0, 0, 0}, - {0, 0, Yellow, Yellow, 0}, - {0, 0, Yellow, 0, 0}, - {0, 0, Yellow, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, Yellow, Yellow, Yellow, 0}, - {0, 0, 0, Yellow, 0}, - {0, 0, 0, 0, 0} - } - }, -// N - { - { - {0, 0, 0, 0, 0}, - {0, 0, 0, Orange, 0}, - {0, 0, Orange, Orange, 0}, - {0, 0, Orange, 0, 0}, - {0, 0, 0, 0, 0} +// L mirrored + { + { + {0, 0, 0, 0, 0}, + {0, 0, Yellow, 0, 0}, + {0, 0, Yellow, 0, 0}, + {0, Yellow, Yellow, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, Yellow, 0, 0, 0}, + {0, Yellow, Yellow, Yellow, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, Yellow, Yellow, 0}, + {0, 0, Yellow, 0, 0}, + {0, 0, Yellow, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, Yellow, Yellow, Yellow, 0}, + {0, 0, 0, Yellow, 0}, + {0, 0, 0, 0, 0} + } }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, Orange, Orange, 0, 0}, - {0, 0, Orange, Orange, 0}, - {0, 0, 0, 0, 0} +// N + { + { + {0, 0, 0, 0, 0}, + {0, 0, 0, Orange, 0}, + {0, 0, Orange, Orange, 0}, + {0, 0, Orange, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, Orange, Orange, 0, 0}, + {0, 0, Orange, Orange, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, Orange, 0, 0}, + {0, Orange, Orange, 0, 0}, + {0, Orange, 0, 0, 0}, + {0, 0, 0, 0, 0} + }, + + + + { + {0, 0, 0, 0, 0}, + {0, Orange, Orange, 0, 0}, + {0, 0, Orange, Orange, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} + } }, - { - {0, 0, 0, 0, 0}, - {0, 0, Orange, 0, 0}, - {0, Orange, Orange, 0, 0}, - {0, Orange, 0, 0, 0}, - {0, 0, 0, 0, 0} - }, - - - - { - {0, 0, 0, 0, 0}, - {0, Orange, Orange, 0, 0}, - {0, 0, Orange, Orange, 0}, - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0} - } - }, // N mirrored - { - { - {0, 0, 0, 0, 0}, - {0, 0, GreenYellow, 0, 0}, - {0, 0, GreenYellow, GreenYellow, 0}, - {0, 0, 0, GreenYellow, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, 0, GreenYellow, GreenYellow, 0}, - {0, GreenYellow, GreenYellow, 0, 0}, - {0, 0, 0, 0, 0} + { + { + {0, 0, 0, 0, 0}, + {0, 0, GreenYellow, 0, 0}, + {0, 0, GreenYellow, GreenYellow, 0}, + {0, 0, 0, GreenYellow, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, GreenYellow, GreenYellow, 0}, + {0, GreenYellow, GreenYellow, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, GreenYellow, 0, 0, 0}, + {0, GreenYellow, GreenYellow, 0, 0}, + {0, 0, GreenYellow, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, GreenYellow, GreenYellow, 0}, + {0, GreenYellow, GreenYellow, 0, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} + } }, - { - {0, 0, 0, 0, 0}, - {0, GreenYellow, 0, 0, 0}, - {0, GreenYellow, GreenYellow, 0, 0}, - {0, 0, GreenYellow, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, GreenYellow, GreenYellow, 0}, - {0, GreenYellow, GreenYellow, 0, 0}, - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0} - } - }, // T - { - { - {0, 0, 0, 0, 0}, - {0, 0, Magenta, 0, 0}, - {0, 0, Magenta, Magenta, 0}, - {0, 0, Magenta, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0}, - {0, Magenta, Magenta, Magenta, 0}, - {0, 0, Magenta, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, Magenta, 0, 0}, - {0, Magenta, Magenta, 0, 0}, - {0, 0, Magenta, 0, 0}, - {0, 0, 0, 0, 0} - }, - { - {0, 0, 0, 0, 0}, - {0, 0, Magenta, 0, 0}, - {0, Magenta, Magenta, Magenta, 0}, - {0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0} + { + { + {0, 0, 0, 0, 0}, + {0, 0, Magenta, 0, 0}, + {0, 0, Magenta, Magenta, 0}, + {0, 0, Magenta, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0}, + {0, Magenta, Magenta, Magenta, 0}, + {0, 0, Magenta, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, Magenta, 0, 0}, + {0, Magenta, Magenta, 0, 0}, + {0, 0, Magenta, 0, 0}, + {0, 0, 0, 0, 0} + }, + { + {0, 0, 0, 0, 0}, + {0, 0, Magenta, 0, 0}, + {0, Magenta, Magenta, Magenta, 0}, + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} + } } - } }; \ No newline at end of file