-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpieces.inl
75 lines (70 loc) · 2.48 KB
/
pieces.inl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef TETRIS__PIECES_H
#define TETRIS__PIECES_H
#include <SDL_types.h>
const Uint8 pieceColor[7][3] = {
// square
{249, 209, 15},
// I
{9, 220, 246},
// L
{76, 2, 243},
// L mirrored
{254, 101, 4},
// N
{238, 4, 52},
// N mirrored
{6, 249, 1},
// T
{196, 3, 247}};
const Uint8 setPieceColor[7][3] = {
// square
{179, 143, 8},
// I
{4, 150, 171},
// L
{46, 0, 173},
// L mirrored
{180, 65, 0},
// N
{190, 0, 22},
// N mirrored
{2, 171, 0},
// T
{131, 0, 169}};
const char pieces[7 /*kind */][4 /* rotation */][4][4] = {
/* square */
{{{1, 1, 0, 0}, {1, 1, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{1, 1, 0, 0}, {1, 1, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{1, 1, 0, 0}, {1, 1, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{1, 1, 0, 0}, {1, 1, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}},
/* I */
{{{2, 2, 2, 2}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{2, 0, 0, 0}, {2, 0, 0, 0}, {2, 0, 0, 0}, {2, 0, 0, 0}},
{{2, 2, 2, 2}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{2, 0, 0, 0}, {2, 0, 0, 0}, {2, 0, 0, 0}, {2, 0, 0, 0}}},
/* L */
{{{3, 0, 0, 0}, {3, 0, 0, 0}, {3, 3, 0, 0}, {0, 0, 0, 0}},
{{3, 3, 3, 0}, {3, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{3, 3, 0, 0}, {0, 3, 0, 0}, {0, 3, 0, 0}, {0, 0, 0, 0}},
{{0, 0, 3, 0}, {3, 3, 3, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}},
/* L mirrored */
{{{0, 4, 0, 0}, {0, 4, 0, 0}, {4, 4, 0, 0}, {0, 0, 0, 0}},
{{4, 0, 0, 0}, {4, 4, 4, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{4, 4, 0, 0}, {4, 0, 0, 0}, {4, 0, 0, 0}, {0, 0, 0, 0}},
{{4, 4, 4, 0}, {0, 0, 4, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}},
/* N */
{{{0, 5, 0, 0}, {5, 5, 0, 0}, {5, 0, 0, 0}, {0, 0, 0, 0}},
{{5, 5, 0, 0}, {0, 5, 5, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{0, 5, 0, 0}, {5, 5, 0, 0}, {5, 0, 0, 0}, {0, 0, 0, 0}},
{{5, 5, 0, 0}, {0, 5, 5, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}},
/* N mirrored */
{{{6, 0, 0, 0}, {6, 6, 0, 0}, {0, 6, 0, 0}, {0, 0, 0, 0}},
{{0, 6, 6, 0}, {6, 6, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{6, 0, 0, 0}, {6, 6, 0, 0}, {0, 6, 0, 0}, {0, 0, 0, 0}},
{{0, 6, 6, 0}, {6, 6, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}},
/* T */
{{{7, 0, 0, 0}, {7, 7, 0, 0}, {7, 0, 0, 0}, {0, 0, 0, 0}},
{{7, 7, 7, 0}, {0, 7, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}},
{{0, 7, 0, 0}, {7, 7, 0, 0}, {0, 7, 0, 0}, {0, 0, 0, 0}},
{{0, 7, 0, 0}, {7, 7, 7, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}}};
#endif // TETRIS__PIECES_H