Rev 6166 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6166 | Rev 7661 | ||
---|---|---|---|
Line 16... | Line 16... | ||
16 | You should have received a copy of the GNU General Public License |
16 | You should have received a copy of the GNU General Public License |
17 | along with this program; if not, write to the Free Software |
17 | along with this program; if not, write to the Free Software |
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
Line 19... | Line 19... | ||
19 | 19 | ||
- | 20 | *******************************************************************************/ |
|
- | 21 | ?define HEADER_Y 4 |
|
- | 22 | ?define BTNSIZE 19 |
|
Line 20... | Line 23... | ||
20 | *******************************************************************************/ |
23 | char game_mode[] = "1/3"; |
21 | 24 | ||
22 | void draw_window() // Ïðîöåäóðà îòðèñîâêè îêíà |
25 | void draw_window() // Ïðîöåäóðà îòðèñîâêè îêíà |
Line 23... | Line 26... | ||
23 | { |
26 | { |
24 | sys_get_colors(#colors, 40); |
27 | sys_get_colors(#colors, 40); |
25 | 28 | ||
26 | // WINDOW |
29 | // WINDOW |
27 | sys_window_redraw(1); |
30 | sys_window_redraw(1); |
28 | EBX = xpos << 16 + xsize; |
31 | EBX = xpos << 16 + xsize + 9; |
Line 29... | Line 32... | ||
29 | ECX = ypos << 16 + ysize; |
32 | ECX = ypos << 16 + ysize; |
30 | sys_draw_window(EBX, ECX, 0x14CCCCCC, colors.w_work | 0x80000000, "MineSweeper"); |
33 | sys_draw_window(EBX, ECX, 0x34CCCCCC, colors.w_work | 0x80000000, "MineSweeper"); |
31 | sys_window_redraw(2); |
34 | sys_window_redraw(2); |
Line 32... | Line 35... | ||
32 | 35 | ||
33 | // Leency ROLLED UP FIX |
36 | // Leency ROLLED UP FIX |
34 | sys_process_info(#procinfo, -1); |
37 | sys_process_info(#procinfo, -1); |
35 | IF (procinfo.ysize<70) return; |
38 | IF (procinfo.ysize<70) return; |
- | 39 | ||
Line 36... | Line 40... | ||
36 | 40 | // |
|
37 | // |
41 | EBX = xsize / 2 - 10; |
- | 42 | EBX = EBX << 16 + BTNSIZE; |
|
- | 43 | sys_draw_button(EBX, HEADER_Y<<16+BTNSIZE, 911+BT_HIDE, clLightGray); |
|
- | 44 | draw_rectangle(xsize/2-10,HEADER_Y,BTNSIZE,BTNSIZE,clWhite,clDarkGray); |
|
Line 38... | Line 45... | ||
38 | EBX = xsize / 2 - 10; |
45 | |
39 | EBX = EBX << 16 + 20; |
46 | // |
Line 40... | Line 47... | ||
40 | sys_draw_button(EBX, 25<<16+20, 911, clLightGray); |
47 | sys_draw_button(5<<16+32, HEADER_Y<<16+BTNSIZE, 1001+BT_HIDE, clLightGray); |
41 | 48 | draw_rectangle(5,HEADER_Y,32,BTNSIZE,clWhite,clDarkGray); |
|
42 | // |
49 | game_mode[0] = mode + '0'; |
43 | sys_draw_button(10<<16+7, 23<<16+7, 1001, 0x118811); |
50 | sys_write_text(9<<16+HEADER_Y+3, 0x90000000+clDarkGray, #game_mode, 3); |
Line 44... | Line 51... | ||
44 | 51 | ||
45 | // |
52 | // |
Line 129... | Line 136... | ||
129 | sys_draw_line(xl << 16 + xl, yt << 16 + yb, clDarkGray); |
136 | sys_draw_line(xl << 16 + xl, yt << 16 + yb, clDarkGray); |
130 | sys_draw_line(xl << 16 + xr, yt << 16 + yt, EDX); |
137 | sys_draw_line(xl << 16 + xr, yt << 16 + yt, EDX); |
131 | } |
138 | } |
132 | } |
139 | } |
Line 133... | Line -... | ||
133 | - | ||
134 | - | ||
135 | // Òàéìåð |
140 | |
136 | void draw_time() |
141 | void draw_time() |
137 | { |
142 | { |
138 | sys_draw_bar(XST<<16+25, 31<<16+14, 0xCCCCCC); |
143 | sys_draw_bar(xsize-XST-58<<16+29, HEADER_Y<<16+20, clWhiteGray); |
139 | sys_write_number(0x00030000, time, XST<<16+32, 0x10ff0000); |
144 | sys_write_number(0x00030000, time, xsize-XST-56<<16+HEADER_Y+3, 0x101166C3); |
Line 140... | Line -... | ||
140 | } |
- | |
141 | 145 | } |
|
142 | 146 | ||
143 | // Èíäèêàòîð êîëè÷åñòâà íåðàññòàâëåííûõ ìèí |
- | |
144 | void draw_minesi() |
- | |
145 | { |
- | |
146 | EBX = xsize - XST - 25; |
147 | |
147 | $PUSH EBX |
- | |
148 | EBX = EBX << 16 + 25; |
- | |
149 | sys_draw_bar(EBX, 31<<16+14, 0xCCCCCC); |
148 | void draw_mines_left() |
150 | $POP EDX |
149 | { |
Line 151... | Line 150... | ||
151 | EDX <<= 16; EDX += 32; |
150 | sys_draw_bar(xsize-XST-29<<16+29, HEADER_Y<<16+20, clWhiteGray); |
152 | sys_write_number(0x00030000, cmines, EDX, 0x10ff0000); |
151 | sys_write_number(0x00030000, cmines, xsize-XST-27<<16+HEADER_Y+3, 0x10ff0000); |
Line 160... | Line 159... | ||
160 | 159 | ||
161 | FOR (y=0; y < ncy; y++) |
160 | FOR (y=0; y < ncy; y++) |
162 | FOR (x=0; x < ncx; x++) |
161 | FOR (x=0; x < ncx; x++) |
163 | draw_square(x, y); |
162 | draw_square(x, y); |
- | 163 | } |
|
- | 164 | ||
- | 165 | void draw_rectangle(dword x,y,w,h,color1,color2) |
|
- | 166 | { |
|
- | 167 | sys_draw_bar(x<<16+w+1,y<<16+1,color1); |
|
- | 168 | sys_draw_bar(x<<16+1,y+1<<16+h-1,color1); |
|
- | 169 | sys_draw_bar(x+w<<16+1,y+1<<16+h,color2); |
|
- | 170 | sys_draw_bar(x<<16+w,y+h<<16+1,color2); |
|
164 | }>>=><=>16+14,><16+14,>><>16+32,><16+32,>16+14,><16+14,>16+25,><16+25,>><>><>><>><>><>><>><>><>><>><>><>><>16+xl,><16+xl,>><>><>><>16+7,><16+7,>16+7,><16+7,>16+7,><16+7,>16+20,><16+20,>><>70)>><>><> |
171 | }16+1,color2); |