| 06fd7dec |
sago007 |
2016-04-04 17:53 |
1 |
/* |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
2 |
=========================================================================== |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
3 |
blockattack - Block Attack - Rise of the Blocks |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
4 |
Copyright (C) 2005-2016 Poul Sander |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
5 |
|
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
6 |
This program is free software: you can redistribute it and/or modify |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
7 |
it under the terms of the GNU General Public License as published by |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
8 |
the Free Software Foundation, either version 2 of the License, or |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
9 |
(at your option) any later version. |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
10 |
|
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
11 |
This program is distributed in the hope that it will be useful, |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
14 |
GNU General Public License for more details. |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
15 |
|
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
16 |
You should have received a copy of the GNU General Public License |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
17 |
along with this program. If not, see http://www.gnu.org/licenses/ |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
18 |
|
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
19 |
Source information and contacts persons can be found at |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
20 |
http://www.blockattack.net |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
21 |
=========================================================================== |
| 06fd7dec |
sago007 |
2016-04-04 17:53 |
22 |
*/ |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
23 |
|
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
24 |
#include "BlockGame.hpp" |
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
25 |
|
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
26 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
27 |
class BlockGameSdl : public BlockGame { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
28 |
public: |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
29 |
BlockGameSdl(int tx, int ty) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
30 |
topx = tx; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
31 |
topy = ty; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
32 |
} |
| 7d649ca8 |
sago007 |
2016-10-02 16:43 |
33 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
34 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
35 |
void DrawImgBoard(const sago::SagoSprite& img, int x, int y) const { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
36 |
DrawIMG(img, globalData.screen, x+topx, y+topy); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
37 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
38 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
39 |
void DrawImgBoardBounded(const sago::SagoSprite& img, int x, int y) const { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
40 |
DrawIMG_Bounded(img, globalData.screen, x+topx, y+topy, topx, topy, topx + backBoard.GetWidth(), topy + backBoard.GetHeight()); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
41 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
42 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
43 |
void PrintTextCenteredBoard(int x, int y, const char* text) { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
44 |
globalData.nf_button_font.draw(globalData.screen, x+topx+60, y+topy+10, NFont::CENTER, "%s", text); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
45 |
} |
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
46 |
|
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
47 |
void PrintIntRightAlignedBoard(int x, int y, int number) { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
48 |
globalData.nf_button_font.draw(globalData.screen, x+topx+60, y+topy+10, NFont::RIGHT, "%d", number); |
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
49 |
} |
| 7d649ca8 |
sago007 |
2016-10-02 16:43 |
50 |
|
| 7d649ca8 |
sago007 |
2016-10-02 16:43 |
51 |
void SetTopXY(int tx, int ty) { |
| 7d649ca8 |
sago007 |
2016-10-02 16:43 |
52 |
topx = tx; |
| 7d649ca8 |
sago007 |
2016-10-02 16:43 |
53 |
topy = ty; |
| 7d649ca8 |
sago007 |
2016-10-02 16:43 |
54 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
55 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
56 |
int GetTopX() const { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
57 |
return topx; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
58 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
59 |
int GetTopY() const { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
60 |
return topy; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
61 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
62 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
63 |
/** |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
64 |
* Retrives the coordinate to a given brick based on mouse input. |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
65 |
* @param match true if the coordinate are within borders |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
66 |
* @param mousex mouse coordinate input |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
67 |
* @param mousey mouse coordiante input |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
68 |
* @param x brick x. Unchanged if outside border |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
69 |
* @param y brick y. Unchanged if outside border |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
70 |
*/ |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
71 |
void GetBrickCoordinateFromMouse(bool& match, int mousex, int mousey, int& x, int& y) const { |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
72 |
if (!IsInTheBoard(mousex, mousey)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
73 |
match = false; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
74 |
return; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
75 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
76 |
match = true; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
77 |
x = (mousex-topx) / 50; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
78 |
y = (50*12+topy-mousey-pixels) / 50; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
79 |
} |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
80 |
|
| 706e81fe |
sago007 |
2016-04-05 19:17 |
81 |
bool IsInTheBoard(int mousex, int mousey) const { |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
82 |
if (mousex < topx || mousex > topx+50*6 || mousey < topy || mousey > topy+50*12) { |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
83 |
return false; |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
84 |
} |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
85 |
return true; |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
86 |
} |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
87 |
|
| 706e81fe |
sago007 |
2016-04-05 19:17 |
88 |
bool IsUnderTheBoard(int mousex, int mousey) const { |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
89 |
if (mousex < topx || mousex > topx+50*6 || mousey < topy+50*12) { |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
90 |
return false; |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
91 |
} |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
92 |
return true; |
| 706e81fe |
sago007 |
2016-04-05 19:17 |
93 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
94 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
95 |
void AddText(int x, int y, const std::string& text, int time) const override { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
96 |
theTextManager.addText(topx-10+x*bsize, topy+12*bsize-y*bsize, text, time); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
97 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
98 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
99 |
void AddBall(int x, int y, bool right, int color) const override { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
100 |
theBallManager.addBall(topx+40+x*bsize, topy+bsize*12-y*bsize, right, color); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
101 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
102 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
103 |
void AddExplosion(int x, int y) const override { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
104 |
theExplosionManager.addExplosion(topx-10+x*bsize, topy+bsize*12-10-y*bsize); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
105 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
106 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
107 |
void PlayerWonEvent() const override { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
108 |
if (!globalData.SoundEnabled) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
109 |
return; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
110 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
111 |
Mix_PlayChannel(1, applause, 0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
112 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
113 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
114 |
void DrawEvent() const override { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
115 |
Mix_HaltChannel(1); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
116 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
117 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
118 |
void BlockPopEvent() const override { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
119 |
if (!globalData.SoundEnabled) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
120 |
return; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
121 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
122 |
Mix_PlayChannel(0, boing, 0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
123 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
124 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
125 |
void LongChainDoneEvent() const override { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
126 |
if (!globalData.SoundEnabled) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
127 |
return; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
128 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
129 |
Mix_PlayChannel(1, applause, 0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
130 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
131 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
132 |
void TimeTrialEndEvent() const override { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
133 |
if (!globalData.NoSound && globalData.SoundEnabled) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
134 |
Mix_PlayChannel(1,counterFinalChunk,0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
135 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
136 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
137 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
138 |
void EndlessHighscoreEvent() const override { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
139 |
if (!globalData.SoundEnabled) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
140 |
return; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
141 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
142 |
Mix_PlayChannel(1, applause, 0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
143 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
144 |
private: |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
145 |
//Draws all the bricks to the board (including garbage) |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
146 |
void PaintBricks() const { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
147 |
for (int i=0; ((i<13)&&(i<30)); i++) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
148 |
for (int j=0; j<6; j++) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
149 |
int basicBrick = board[j][i]%10; //The basic brick, stored on the least significant digit |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
150 |
if ((basicBrick > -1) && (basicBrick < 7) && ((board[j][i]/1000000)%10==0)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
151 |
DrawImgBoardBounded(bricks[basicBrick], j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
152 |
if ((board[j][i]/BLOCKWAIT)%10==1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
153 |
DrawImgBoard(bomb, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
154 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
155 |
if ((board[j][i]/BLOCKHANG)%10==1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
156 |
DrawImgBoardBounded(ready, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
157 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
158 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
159 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
160 |
if ((board[j][i]/1000000)%10==1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
161 |
int left, right, over, under; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
162 |
int number = board[j][i]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
163 |
if (j<1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
164 |
left = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
165 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
166 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
167 |
left = board[j-1][i]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
168 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
169 |
if (j>=5) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
170 |
right = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
171 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
172 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
173 |
right = board[j+1][i]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
174 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
175 |
if (i>28) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
176 |
over = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
177 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
178 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
179 |
over = board[j][i+1]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
180 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
181 |
if (i<1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
182 |
under = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
183 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
184 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
185 |
under = board[j][i-1]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
186 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
187 |
if ((left == number)&&(right == number)&&(over == number)&&(under == number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
188 |
DrawImgBoardBounded(garbageFill, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
189 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
190 |
if ((left != number)&&(right == number)&&(over == number)&&(under == number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
191 |
DrawImgBoardBounded(garbageL, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
192 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
193 |
if ((left == number)&&(right != number)&&(over == number)&&(under == number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
194 |
DrawImgBoardBounded(garbageR, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
195 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
196 |
if ((left == number)&&(right == number)&&(over != number)&&(under == number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
197 |
DrawImgBoardBounded(garbageT, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
198 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
199 |
if ((left == number)&&(right == number)&&(over == number)&&(under != number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
200 |
DrawImgBoardBounded(garbageB, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
201 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
202 |
if ((left != number)&&(right == number)&&(over != number)&&(under == number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
203 |
DrawImgBoardBounded(garbageTL, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
204 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
205 |
if ((left != number)&&(right == number)&&(over == number)&&(under != number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
206 |
DrawImgBoardBounded(garbageBL, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
207 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
208 |
if ((left == number)&&(right != number)&&(over != number)&&(under == number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
209 |
DrawImgBoardBounded(garbageTR, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
210 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
211 |
if ((left == number)&&(right != number)&&(over == number)&&(under != number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
212 |
DrawImgBoardBounded(garbageBR, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
213 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
214 |
if ((left == number)&&(right != number)&&(over != number)&&(under != number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
215 |
DrawImgBoardBounded(garbageMR, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
216 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
217 |
if ((left == number)&&(right == number)&&(over != number)&&(under != number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
218 |
DrawImgBoardBounded(garbageM, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
219 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
220 |
if ((left != number)&&(right == number)&&(over != number)&&(under != number)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
221 |
DrawImgBoardBounded(garbageML, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
222 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
223 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
224 |
if ((board[j][i]/1000000)%10==2) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
225 |
if (j==0) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
226 |
DrawImgBoardBounded(garbageGML, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
227 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
228 |
else if (j==5) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
229 |
DrawImgBoardBounded(garbageGMR, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
230 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
231 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
232 |
DrawImgBoardBounded(garbageGM, j*bsize, bsize*12-i*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
233 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
234 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
235 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
236 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
237 |
const int j = 0; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
238 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
239 |
int garbageSize=0; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
240 |
for (int i=0; i<20; i++) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
241 |
if ((board[j][i]/1000000)%10==1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
242 |
int left, right, over, under; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
243 |
int number = board[j][i]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
244 |
if (j<1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
245 |
left = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
246 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
247 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
248 |
left = board[j-1][i]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
249 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
250 |
if (j>5) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
251 |
right = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
252 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
253 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
254 |
right = board[j+1][i]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
255 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
256 |
if (i>28) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
257 |
over = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
258 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
259 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
260 |
over = board[j][i+1]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
261 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
262 |
if (i<1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
263 |
under = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
264 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
265 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
266 |
under = board[j][i-1]; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
267 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
268 |
if (((left != number)&&(right == number)&&(over != number)&&(under == number))&&(garbageSize>0)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
269 |
DrawImgBoardBounded(smiley[board[j][i]%4], 2*bsize, 12*bsize-i*bsize-pixels+(bsize/2)*garbageSize); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
270 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
271 |
if (!((left != number)&&(right == number)&&(over == number)&&(under == number))) { //not in garbage |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
272 |
garbageSize=0; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
273 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
274 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
275 |
garbageSize++; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
276 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
277 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
278 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
279 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
280 |
for (int i=0; i<6; i++) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
281 |
if (board[i][0]!=-1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
282 |
DrawImgBoardBounded(transCover, i*bsize, 12*bsize-pixels); //Make the appering blocks transperant |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
283 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
284 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
285 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
286 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
287 |
public: |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
288 |
//Draws everything |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
289 |
void DoPaintJob() { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
290 |
DrawIMG(boardBackBack,globalData.screen,this->GetTopX()-60,this->GetTopY()-68); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
291 |
|
| 72383a9e |
sago007 |
2016-10-30 11:56 |
292 |
globalData.nf_scoreboard_font.draw(globalData.screen, this->GetTopX()+310,this->GetTopY()-68+148,_("Score:") ); |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
293 |
globalData.nf_scoreboard_font.draw(globalData.screen, this->GetTopX()+310,this->GetTopY()-68+197,_("Time:") ); |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
294 |
globalData.nf_scoreboard_font.draw(globalData.screen, this->GetTopX()+310,this->GetTopY()-68+246,_("Chain:") ); |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
295 |
globalData.nf_scoreboard_font.draw(globalData.screen, this->GetTopX()+310,this->GetTopY()-68+295,_("Speed:") ); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
296 |
DrawImgBoard(backBoard, 0, 0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
297 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
298 |
PaintBricks(); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
299 |
if (stageClear) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
300 |
DrawImgBoard(blackLine, 0, bsize*(12+2)+bsize*(stageClearLimit-linesCleared)-pixels-1); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
301 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
302 |
if (puzzleMode&&(!bGameOver)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
303 |
//We need to write nr. of moves left! |
| 549ecfae |
sago007 |
2016-10-09 08:37 |
304 |
strHolder = _("Moves left: ") + std::to_string(MovesLeft); |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
305 |
globalData.nf_standard_blue_font.draw(globalData.screen, topx+5, topy+5, "%s", strHolder.c_str()); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
306 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
307 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
308 |
if (puzzleMode && stageButtonStatus == SBpuzzleMode) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
309 |
DrawImgBoard(bRetry, cordRetryButton.x, cordRetryButton.y); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
310 |
PrintTextCenteredBoard(cordRetryButton.x, cordRetryButton.y, _("Retry")); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
311 |
if (getLevel()<PuzzleGetNumberOfPuzzles()-1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
312 |
if (hasWonTheGame) { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
313 |
DrawImgBoard(globalData.bNext, cordNextButton.x, cordNextButton.y); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
314 |
PrintTextCenteredBoard(cordNextButton.x, cordNextButton.y, _("Next")); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
315 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
316 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
317 |
DrawImgBoard(bSkip,cordNextButton.x, cordNextButton.y); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
318 |
PrintTextCenteredBoard(cordNextButton.x, cordNextButton.y, _("Skip")); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
319 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
320 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
321 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
322 |
strHolder = "Last puzzle"; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
323 |
globalData.nf_standard_blue_font.draw(globalData.screen, topx+5, topy+5, "%s",strHolder.c_str()); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
324 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
325 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
326 |
if (stageClear && stageButtonStatus == SBstageClear) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
327 |
DrawImgBoard(bRetry, cordRetryButton.x, cordRetryButton.y); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
328 |
PrintTextCenteredBoard(cordRetryButton.x, cordRetryButton.y, _("Retry")); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
329 |
if (getLevel()<50-1) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
330 |
if (hasWonTheGame) { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
331 |
DrawImgBoard(globalData.bNext, cordNextButton.x, cordNextButton.y); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
332 |
PrintTextCenteredBoard(cordNextButton.x, cordNextButton.y, _("Next")); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
333 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
334 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
335 |
DrawImgBoard(bSkip,cordNextButton.x, cordNextButton.y); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
336 |
PrintTextCenteredBoard(cordNextButton.x, cordNextButton.y, _("Skip")); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
337 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
338 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
339 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
340 |
strHolder = "Last stage"; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
341 |
globalData.nf_standard_blue_font.draw(globalData.screen, topx+5, topy+5, "%s",strHolder.c_str()); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
342 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
343 |
} |
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
344 |
if (!bGameOver && stop > 20) { |
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
345 |
PrintIntRightAlignedBoard(240, -40, stop/10); |
| e8d66c68 |
sago007 |
2016-07-12 17:32 |
346 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
347 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
348 |
#if DEBUG |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
349 |
if (AI_Enabled&&(!bGameOver)) { |
| 549ecfae |
sago007 |
2016-10-09 08:37 |
350 |
strHolder = "AI_status: " + std::to_string(AIstatus)+ ", "+ std::to_string(AIlineToClear); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
351 |
//NFont_Write( 5, 5, strHolder.c_str()); |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
352 |
globalData.nf_standard_blue_font.draw(globalData.screen, topx+5, topy+5, "%s",strHolder.c_str()); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
353 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
354 |
#endif |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
355 |
if (!bGameOver) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
356 |
bool touched = false; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
357 |
int mx = 0; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
358 |
int my = 0; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
359 |
this->GetMouseCursor(touched, mx, my); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
360 |
if (touched) { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
361 |
DrawImgBoard(globalData.spriteHolder->GetSprite("touchcursor"),mx*bsize, 11*bsize-my*bsize-pixels); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
362 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
363 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
364 |
DrawImgBoard(cursor,cursorx*bsize-4,11*bsize-cursory*bsize-pixels-4); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
365 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
366 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
367 |
if (ticks<gameStartedAt) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
368 |
int currentCounter = abs((int)ticks-(int)gameStartedAt)/1000; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
369 |
if ( (currentCounter!=lastCounter) && (globalData.SoundEnabled)&&(!globalData.NoSound)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
370 |
Mix_PlayChannel(1,counterChunk,0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
371 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
372 |
lastCounter = currentCounter; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
373 |
switch (currentCounter) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
374 |
case 2: |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
375 |
DrawImgBoard(counter[2], 2*bsize, 5*bsize); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
376 |
break; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
377 |
case 1: |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
378 |
DrawImgBoard(counter[1], 2*bsize, 5*bsize); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
379 |
break; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
380 |
case 0: |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
381 |
DrawImgBoard(counter[0], 2*bsize, 5*bsize); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
382 |
break; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
383 |
default: |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
384 |
break; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
385 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
386 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
387 |
else { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
388 |
if (globalData.SoundEnabled&&(!globalData.NoSound)&&(timetrial)&&(ticks>gameStartedAt+10000)&&(!bGameOver)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
389 |
int currentCounter = (ticks-(int)gameStartedAt)/1000; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
390 |
if (currentCounter!=lastCounter) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
391 |
if (currentCounter>115 && currentCounter<120) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
392 |
Mix_PlayChannel(1,counterChunk,0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
393 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
394 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
395 |
lastCounter = currentCounter; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
396 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
397 |
else { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
398 |
if ( (0==lastCounter) && (globalData.SoundEnabled)&&(!globalData.NoSound)) { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
399 |
Mix_PlayChannel(1, counterFinalChunk, 0); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
400 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
401 |
lastCounter = -1; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
402 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
403 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
404 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
405 |
if ((bGameOver)&&(!editorMode)) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
406 |
if (hasWonTheGame) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
407 |
DrawImgBoard(iWinner, 0, 5*bsize); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
408 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
409 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
410 |
if (bDraw) { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
411 |
DrawImgBoard(iDraw, 0, 5*bsize); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
412 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
413 |
else { |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
414 |
DrawImgBoard(iGameOver, 0, 5*bsize); |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
415 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
416 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
417 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
418 |
} |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
419 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
420 |
private: |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
421 |
int topx, topy; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
422 |
}; |
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
423 |
|
| 8b1ab1cb |
sago007 |
2016-04-04 17:51 |
424 |
|
|
|
1970-01-01 00:00 |
425 |
|