Tetris game on mikroTFT touchscreen and LPC1768
Piece.cpp@4:107d1d5a642e, 2017-03-18 (annotated)
- Committer:
- sergun2311
- Date:
- Sat Mar 18 14:45:16 2017 +0000
- Revision:
- 4:107d1d5a642e
- Parent:
- 2:6b6986c3d2bd
Tetris V1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sergun2311 | 0:645509d95b8d | 1 | #include "Piece.h" |
sergun2311 | 4:107d1d5a642e | 2 | #include "Define.h" |
sergun2311 | 0:645509d95b8d | 3 | |
sergun2311 | 4:107d1d5a642e | 4 | // Defining of Pieces (Blocks/Shapes) |
sergun2311 | 4:107d1d5a642e | 5 | // Here is 7 types of PIECES, eack with 4 different angles |
sergun2311 | 4:107d1d5a642e | 6 | // and consists of matixes of colors, sized 5x5 |
sergun2311 | 0:645509d95b8d | 7 | |
sergun2311 | 0:645509d95b8d | 8 | const int Piece [ 7 ][ 4 ][ 5 ][ 5 ] = { |
sergun2311 | 2:6b6986c3d2bd | 9 | { |
sergun2311 | 4:107d1d5a642e | 10 | { |
sergun2311 | 4:107d1d5a642e | 11 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 12 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 13 | {0, 0, Blue, Blue, 0}, |
sergun2311 | 4:107d1d5a642e | 14 | {0, 0, Blue, Blue, 0}, |
sergun2311 | 4:107d1d5a642e | 15 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 16 | }, |
sergun2311 | 4:107d1d5a642e | 17 | { |
sergun2311 | 4:107d1d5a642e | 18 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 19 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 20 | {0, 0, Blue, Blue, 0}, |
sergun2311 | 4:107d1d5a642e | 21 | {0, 0, Blue, Blue, 0}, |
sergun2311 | 4:107d1d5a642e | 22 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 23 | }, |
sergun2311 | 4:107d1d5a642e | 24 | { |
sergun2311 | 4:107d1d5a642e | 25 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 26 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 27 | {0, 0, Blue, Blue, 0}, |
sergun2311 | 4:107d1d5a642e | 28 | {0, 0, Blue, Blue, 0}, |
sergun2311 | 4:107d1d5a642e | 29 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 30 | }, |
sergun2311 | 4:107d1d5a642e | 31 | { |
sergun2311 | 4:107d1d5a642e | 32 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 33 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 34 | {0, 0, Blue, Blue, 0}, |
sergun2311 | 4:107d1d5a642e | 35 | {0, 0, Blue, Blue, 0}, |
sergun2311 | 4:107d1d5a642e | 36 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 37 | } |
sergun2311 | 0:645509d95b8d | 38 | }, |
sergun2311 | 4:107d1d5a642e | 39 | |
sergun2311 | 4:107d1d5a642e | 40 | // I |
sergun2311 | 4:107d1d5a642e | 41 | { |
sergun2311 | 4:107d1d5a642e | 42 | { |
sergun2311 | 4:107d1d5a642e | 43 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 44 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 45 | {Green, Green, Green, Green, 0}, |
sergun2311 | 4:107d1d5a642e | 46 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 47 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 48 | }, |
sergun2311 | 4:107d1d5a642e | 49 | { |
sergun2311 | 4:107d1d5a642e | 50 | {0, 0, Green, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 51 | {0, 0, Green, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 52 | {0, 0, Green, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 53 | {0, 0, Green, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 54 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 55 | }, |
sergun2311 | 4:107d1d5a642e | 56 | { |
sergun2311 | 4:107d1d5a642e | 57 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 58 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 59 | {Green, Green, Green, Green, 0}, |
sergun2311 | 4:107d1d5a642e | 60 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 61 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 62 | }, |
sergun2311 | 4:107d1d5a642e | 63 | { |
sergun2311 | 4:107d1d5a642e | 64 | {0, 0, Green, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 65 | {0, 0, Green, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 66 | {0, 0, Green, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 67 | {0, 0, Green, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 68 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 69 | } |
sergun2311 | 0:645509d95b8d | 70 | } |
sergun2311 | 4:107d1d5a642e | 71 | , |
sergun2311 | 0:645509d95b8d | 72 | // L |
sergun2311 | 4:107d1d5a642e | 73 | { |
sergun2311 | 4:107d1d5a642e | 74 | { |
sergun2311 | 4:107d1d5a642e | 75 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 76 | {0, 0, Red, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 77 | {0, 0, Red, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 78 | {0, 0, Red, Red, 0}, |
sergun2311 | 4:107d1d5a642e | 79 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 80 | }, |
sergun2311 | 4:107d1d5a642e | 81 | { |
sergun2311 | 4:107d1d5a642e | 82 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 83 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 84 | {0, Red, Red, Red, 0}, |
sergun2311 | 4:107d1d5a642e | 85 | {0, Red, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 86 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 87 | }, |
sergun2311 | 4:107d1d5a642e | 88 | { |
sergun2311 | 4:107d1d5a642e | 89 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 90 | {0, Red, Red, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 91 | {0, 0, Red, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 92 | {0, 0, Red, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 93 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 94 | }, |
sergun2311 | 4:107d1d5a642e | 95 | { |
sergun2311 | 4:107d1d5a642e | 96 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 97 | {0, 0, 0, Red, 0}, |
sergun2311 | 4:107d1d5a642e | 98 | {0, Red, Red, Red, 0}, |
sergun2311 | 4:107d1d5a642e | 99 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 100 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 101 | } |
sergun2311 | 0:645509d95b8d | 102 | }, |
sergun2311 | 4:107d1d5a642e | 103 | // L mirrored |
sergun2311 | 4:107d1d5a642e | 104 | { |
sergun2311 | 4:107d1d5a642e | 105 | { |
sergun2311 | 4:107d1d5a642e | 106 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 107 | {0, 0, Yellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 108 | {0, 0, Yellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 109 | {0, Yellow, Yellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 110 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 111 | }, |
sergun2311 | 4:107d1d5a642e | 112 | { |
sergun2311 | 4:107d1d5a642e | 113 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 114 | {0, Yellow, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 115 | {0, Yellow, Yellow, Yellow, 0}, |
sergun2311 | 4:107d1d5a642e | 116 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 117 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 118 | }, |
sergun2311 | 4:107d1d5a642e | 119 | { |
sergun2311 | 4:107d1d5a642e | 120 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 121 | {0, 0, Yellow, Yellow, 0}, |
sergun2311 | 4:107d1d5a642e | 122 | {0, 0, Yellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 123 | {0, 0, Yellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 124 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 125 | }, |
sergun2311 | 4:107d1d5a642e | 126 | { |
sergun2311 | 4:107d1d5a642e | 127 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 128 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 129 | {0, Yellow, Yellow, Yellow, 0}, |
sergun2311 | 4:107d1d5a642e | 130 | {0, 0, 0, Yellow, 0}, |
sergun2311 | 4:107d1d5a642e | 131 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 132 | } |
sergun2311 | 0:645509d95b8d | 133 | }, |
sergun2311 | 4:107d1d5a642e | 134 | // N |
sergun2311 | 4:107d1d5a642e | 135 | { |
sergun2311 | 4:107d1d5a642e | 136 | { |
sergun2311 | 4:107d1d5a642e | 137 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 138 | {0, 0, 0, Orange, 0}, |
sergun2311 | 4:107d1d5a642e | 139 | {0, 0, Orange, Orange, 0}, |
sergun2311 | 4:107d1d5a642e | 140 | {0, 0, Orange, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 141 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 142 | }, |
sergun2311 | 4:107d1d5a642e | 143 | { |
sergun2311 | 4:107d1d5a642e | 144 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 145 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 146 | {0, Orange, Orange, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 147 | {0, 0, Orange, Orange, 0}, |
sergun2311 | 4:107d1d5a642e | 148 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 149 | }, |
sergun2311 | 4:107d1d5a642e | 150 | { |
sergun2311 | 4:107d1d5a642e | 151 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 152 | {0, 0, Orange, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 153 | {0, Orange, Orange, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 154 | {0, Orange, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 155 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 156 | }, |
sergun2311 | 4:107d1d5a642e | 157 | |
sergun2311 | 4:107d1d5a642e | 158 | |
sergun2311 | 4:107d1d5a642e | 159 | |
sergun2311 | 4:107d1d5a642e | 160 | { |
sergun2311 | 4:107d1d5a642e | 161 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 162 | {0, Orange, Orange, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 163 | {0, 0, Orange, Orange, 0}, |
sergun2311 | 4:107d1d5a642e | 164 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 165 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 166 | } |
sergun2311 | 0:645509d95b8d | 167 | }, |
sergun2311 | 0:645509d95b8d | 168 | // N mirrored |
sergun2311 | 4:107d1d5a642e | 169 | { |
sergun2311 | 4:107d1d5a642e | 170 | { |
sergun2311 | 4:107d1d5a642e | 171 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 172 | {0, 0, GreenYellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 173 | {0, 0, GreenYellow, GreenYellow, 0}, |
sergun2311 | 4:107d1d5a642e | 174 | {0, 0, 0, GreenYellow, 0}, |
sergun2311 | 4:107d1d5a642e | 175 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 176 | }, |
sergun2311 | 4:107d1d5a642e | 177 | { |
sergun2311 | 4:107d1d5a642e | 178 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 179 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 180 | {0, 0, GreenYellow, GreenYellow, 0}, |
sergun2311 | 4:107d1d5a642e | 181 | {0, GreenYellow, GreenYellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 182 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 183 | }, |
sergun2311 | 4:107d1d5a642e | 184 | { |
sergun2311 | 4:107d1d5a642e | 185 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 186 | {0, GreenYellow, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 187 | {0, GreenYellow, GreenYellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 188 | {0, 0, GreenYellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 189 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 190 | }, |
sergun2311 | 4:107d1d5a642e | 191 | { |
sergun2311 | 4:107d1d5a642e | 192 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 193 | {0, 0, GreenYellow, GreenYellow, 0}, |
sergun2311 | 4:107d1d5a642e | 194 | {0, GreenYellow, GreenYellow, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 195 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 196 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 197 | } |
sergun2311 | 0:645509d95b8d | 198 | }, |
sergun2311 | 0:645509d95b8d | 199 | // T |
sergun2311 | 4:107d1d5a642e | 200 | { |
sergun2311 | 4:107d1d5a642e | 201 | { |
sergun2311 | 4:107d1d5a642e | 202 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 203 | {0, 0, Magenta, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 204 | {0, 0, Magenta, Magenta, 0}, |
sergun2311 | 4:107d1d5a642e | 205 | {0, 0, Magenta, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 206 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 207 | }, |
sergun2311 | 4:107d1d5a642e | 208 | { |
sergun2311 | 4:107d1d5a642e | 209 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 210 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 211 | {0, Magenta, Magenta, Magenta, 0}, |
sergun2311 | 4:107d1d5a642e | 212 | {0, 0, Magenta, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 213 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 214 | }, |
sergun2311 | 4:107d1d5a642e | 215 | { |
sergun2311 | 4:107d1d5a642e | 216 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 217 | {0, 0, Magenta, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 218 | {0, Magenta, Magenta, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 219 | {0, 0, Magenta, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 220 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 221 | }, |
sergun2311 | 4:107d1d5a642e | 222 | { |
sergun2311 | 4:107d1d5a642e | 223 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 224 | {0, 0, Magenta, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 225 | {0, Magenta, Magenta, Magenta, 0}, |
sergun2311 | 4:107d1d5a642e | 226 | {0, 0, 0, 0, 0}, |
sergun2311 | 4:107d1d5a642e | 227 | {0, 0, 0, 0, 0} |
sergun2311 | 4:107d1d5a642e | 228 | } |
sergun2311 | 0:645509d95b8d | 229 | } |
sergun2311 | 0:645509d95b8d | 230 | }; |