Rev 551 | Rev 6166 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 551 | Rev 964 | ||
---|---|---|---|
Line 17... | Line 17... | ||
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 | ||
Line 20... | Line -... | ||
20 | *******************************************************************************/ |
- | |
21 | 20 | *******************************************************************************/ |
|
22 | void draw_window() |
21 | |
23 | // Ïðîöåäóðà îòðèñîâêè îêíà |
- | |
24 | { |
22 | void draw_window() // Ïðîöåäóðà îòðèñîâêè îêíà |
25 | 23 | { |
|
Line 26... | Line 24... | ||
26 | sys_window_redraw(1); |
24 | sys_window_redraw(1); |
27 | sys_get_colors(#colors, 40); |
25 | sys_get_colors(#colors, 40); |
Line 34... | Line 32... | ||
34 | // |
32 | // |
35 | EBX = xsize / 2 - 10; |
33 | EBX = xsize / 2 - 10; |
36 | EBX = EBX << 16 + 20; |
34 | EBX = EBX << 16 + 20; |
37 | sys_draw_button(EBX, 25<<16+20, 911, clLightGray); |
35 | sys_draw_button(EBX, 25<<16+20, 911, clLightGray); |
Line 38... | Line -... | ||
38 | - | ||
39 | // |
- | |
40 | // EBX = ncx * XPX; EBX += XST << 16; |
- | |
41 | // ECX = ncy * YPX; ECX += YST << 16; |
- | |
42 | // sys_draw_button(EBX, ECX, 1000, 0x60000000); |
- | |
43 | 36 | ||
44 | // |
37 | // |
Line 45... | Line 38... | ||
45 | sys_draw_button(10<<16+7, 23<<16+7, 1001, 0x118811); |
38 | sys_draw_button(10<<16+7, 23<<16+7, 1001, 0x118811); |
46 | 39 | ||
Line 47... | Line -... | ||
47 | // |
- | |
48 | // sys_draw_button(20<<16+7, ECX, EDX+1, 0xddbb44); |
- | |
49 | - | ||
50 | // |
- | |
51 | // sys_draw_button(); |
- | |
52 | - | ||
53 | // |
- | |
54 | // sys_draw_button(); |
- | |
55 | - | ||
56 | // |
- | |
57 | // sys_draw_button(); |
- | |
58 | 40 | // |
|
59 | sys_window_redraw(2); |
41 | //sys_draw_button(20<<16+7, ECX, EDX+1, 0xddbb44); |
60 | 42 | ||
Line -... | Line 43... | ||
- | 43 | draw_time(); // draw timer |
|
61 | draw_time(); // draw timer |
44 | draw_minesi(); // draw mines |
Line 62... | Line 45... | ||
62 | draw_minesi(); // draw mines |
45 | draw_squares(); // draw field |
63 | draw_squares(); // draw field |
46 | |
64 | 47 | sys_window_redraw(2); |
|
Line 87... | Line 70... | ||
87 | xl = XPX * x + XST; |
70 | xl = XPX * x + XST; |
88 | xr = xl + XPX - 1; |
71 | xr = xl + XPX - 1; |
89 | yt = YPX * y + YST; |
72 | yt = YPX * y + YST; |
90 | yb = yt + YPX - 1; |
73 | yb = yt + YPX - 1; |
Line 91... | Line 74... | ||
91 | 74 | ||
92 | EBX = xl << 16 + xr - xl; |
75 | EBX = xl+1 << 16 + xr - xl-1; |
93 | ECX = yt << 16 + yb - yt; |
76 | ECX = yt+1 << 16 + yb - yt-1; |
94 | $inc ebx |
77 | $inc ebx |
95 | $inc ecx |
78 | $inc ecx |
Line 96... | Line 79... | ||
96 | sys_draw_bar(EBX, ECX, clLightGray); // ðèñóåò çàêðàøåííûé ïðÿìîóãîëüíèê |
79 | sys_draw_bar(EBX, ECX, clLightGray); // ðèñóåò çàêðàøåííûé ïðÿìîóãîëüíèê |
Line 111... | Line 94... | ||
111 | CASE 1: tcolor = 0xd04444; tchar = 'P'; |
94 | CASE 1: tcolor = 0xd04444; tchar = 'P'; |
112 | } |
95 | } |
Line 113... | Line 96... | ||
113 | 96 | ||
114 | IF (get_mark(x,y)) |
97 | IF (get_mark(x,y)) |
115 | { |
98 | { |
116 | EBX = xl + 5; EBX <<= 16; EBX += yt + 4; |
99 | EBX = xl + 5 << 16 + yt + 4; |
117 | sys_write_text(EBX, tcolor, #tchar, 1); |
100 | sys_write_text(EBX, tcolor, #tchar, 1); |
118 | EBX += 0x00010000; |
101 | EBX += 0x00010000; |
119 | /* Âòîðîé ðàç - ðåãèñòðû ñîõðàíÿþòñÿ */ |
102 | /* Âòîðîé ðàç - ðåãèñòðû ñîõðàíÿþòñÿ */ |
120 | sys_write_text(EBX, ECX, EDX, ESI); |
103 | sys_write_text(EBX, ECX, EDX, ESI); |
Line 133... | Line 116... | ||
133 | ELSE |
116 | ELSE |
134 | { |
117 | { |
135 | tchar = tval + '0'; |
118 | tchar = tval + '0'; |
136 | tcolor = num_colors[tval-1]; |
119 | tcolor = num_colors[tval-1]; |
137 | } |
120 | } |
138 | EBX = xl + 5; EBX <<= 16; EBX += yt + 5; |
121 | EBX = xl + 5 << 16 + yt + 5; |
139 | sys_write_text(EBX, tcolor, #tchar, 1); |
122 | sys_write_text(EBX, tcolor, #tchar, 1); |
140 | EBX += 0x00010000; |
123 | EBX += 0x00010000; |
141 | sys_write_text(EBX, ECX, EDX, ESI); |
124 | sys_write_text(EBX, ECX, EDX, ESI); |
142 | } |
125 | } |
143 | sys_draw_line(xl << 16 + xl, yt << 16 + yb, clDarkGray); |
126 | sys_draw_line(xl << 16 + xl, yt << 16 + yb, clDarkGray); |
Line 148... | Line 131... | ||
148 | 131 | ||
149 | // Òàéìåð |
132 | // Òàéìåð |
150 | void draw_time() |
133 | void draw_time() |
151 | { |
134 | { |
152 | sys_draw_bar(XST<<16+25, 31<<16+10, 0xCCCCCC); |
- | |
153 | EBX = 0x00030000; |
135 | sys_draw_bar(XST<<16+25, 31<<16+10, 0xCCCCCC); |
154 | sys_write_number(EBX, time, XST<<16+32, 0x10ff0000); |
136 | sys_write_number(0x00030000, time, XST<<16+32, 0x10ff0000); |
Line 155... | Line 137... | ||
155 | } |
137 | } |
156 | 138 | ||
Line 162... | Line 144... | ||
162 | $PUSH EBX |
144 | $PUSH EBX |
163 | EBX = EBX << 16 + 25; |
145 | EBX = EBX << 16 + 25; |
164 | sys_draw_bar(EBX, 31<<16+10, 0xCCCCCC); |
146 | sys_draw_bar(EBX, 31<<16+10, 0xCCCCCC); |
165 | $POP EDX |
147 | $POP EDX |
166 | EDX <<= 16; EDX += 32; |
148 | EDX <<= 16; EDX += 32; |
167 | EBX = 0x00030000; |
- | |
168 | sys_write_number(EBX, cmines, EDX, 0x10ff0000); |
149 | sys_write_number(0x00030000, cmines, EDX, 0x10ff0000); |
169 | } |
150 | } |
Line 170... | Line 151... | ||
170 | 151 | ||
171 | 152 | ||
172 | // Îòðèñîâêà ìèííîãî ïîëÿ |
153 | // Îòðèñîâêà ìèííîãî ïîëÿ |
173 | void draw_squares() |
154 | void draw_squares() |
Line 174... | Line -... | ||
174 | { |
- | |
175 | int x,y; |
155 | { |
- | 156 | int x,y; |
|
176 | 157 | ||
177 | FOR (x=0; x < ncx; x++) |
158 | FOR (y=0; y < ncy; y++) |
178 | FOR (y=0; y < ncy; y++) |
159 | FOR (x=0; x < ncx; x++) |