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
76
77
78
79
80
81
82
83
84
85
86
87
|
#define windowName_conf "Tetris CSFML" // Window name
#define uiColor1 sfColor_fromRGB(0, 0, 0) // Field background
#define uiColor2 sfColor_fromRGB(80, 80, 80) // Field inactive cell outline
#define uiColor3 sfColor_fromRGB(0, 0, 0) // Field active cell outline
#define tOrange sfColor_fromRGB(255, 130, 0) // Orange color of L shape
#define tBlue sfColor_fromRGB(0, 0, 255)
#define tGreen sfColor_fromRGB(0, 255, 0)
#define tRed sfColor_fromRGB(255, 0, 0)
#define tYellow sfColor_fromRGB(255, 255, 0)
#define tCyan sfColor_fromRGB(0, 255, 255)
#define tMagneta sfColor_fromRGB(192, 0, 255)
#define moveRepeatLatency1 150000 // microseconds, only for left-right arrows,
// first repeat move when long push
#define moveRepeatLatency2 30000 // microseconds, for Left, Right and Down
// arrows, the rest repeat move when long push
#define basicLatency 500000
#define PUT_LATENCY 300000
#define RM_LINE_SCORE 100
#define LEVELUP_SCORE 100
/*
* 19..........
* 18..........
* 17..........
* 16..........
* 15..........
* 14..........
* 13..........
* 12..........
* 11..........
* 10..........
* 9..........
* 8..........
* 7..........
* 6..........
* 5.......#..
* 4......##..
* 3......#...
* 2.#.##.....
* 1.##.#..#..
* 0..#.#.###.
* 0123456789
*
* L
* ..#. .#.. .... ##..
* ###. .#.. ###. .#..
* .... .##. #... .#..
* .... .... .... ....
*
* RL
* #... .##. .... .#..
* ###. .#.. ###. .#..
* .... .#.. ..#. ##..
* .... .... .... ....
*
* Z
* ##.. ..#. .... .#..
* .##. .##. ##.. ##..
* .... .#.. .##. #...
* .... .... .... ....
*
* S
* .##. .#.. .... #...
* ##.. .##. .##. ##..
* .... ..#. ##.. .#..
* .... .... .... ....
*
* Brick
* ##.. ##.. ##.. ##..
* ##.. ##.. ##.. ##..
* .... .... .... ....
* .... .... .... ....
*
* I
* .#.. .... .#.. ....
* .#.. #### .#.. ####
* .#.. .... .#.. ....
* .#.. .... .#.. ....
*
* T
* .#.. .#.. .... .#..
* ###. .##. ###. ##..
* .... .#.. .#.. .#..
* .... .... .... ....
*/
|