Rev 1803 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1803 | Rev 2734 | ||
---|---|---|---|
Line 5... | Line 5... | ||
5 | cW equ cWHITE |
5 | cW equ cWHITE |
Line 6... | Line 6... | ||
6 | 6 | ||
7 | macro main_loop |
7 | macro main_loop |
Line -... | Line 8... | ||
- | 8 | { |
|
- | 9 | ||
- | 10 | ; ®«ãç¨âì áâ ¤ àâë¥ æ¢¥â ®ª® |
|
- | 11 | ;======================================== |
|
- | 12 | mov eax, 48 |
|
- | 13 | mov ebx, 3 |
|
- | 14 | mov ecx, colors |
|
- | 15 | mov edx, 40 |
|
- | 16 | int 0x40 |
|
- | 17 | ||
8 | { |
18 | |
9 | 19 | ||
10 | ; äãªæ¨ï ®âà¨á®¢ª¨ ®ª |
20 | ; äãªæ¨ï ®âà¨á®¢ª¨ ®ª |
11 | ;======================================== |
21 | ;======================================== |
12 | draw_window: |
22 | draw_window: |
13 | mov eax,12 ; äãªæ¨ï 12: á®®¡é¨âì á¨á⥬¥ |
23 | mov eax,12 ; äãªæ¨ï 12: á®®¡é¨âì á¨á⥬¥ |
14 | mov ebx,1 ; ¯®¤äãªæ¨ï 1, ç «® ¯¥à¥à¨á®¢ª¨ |
24 | mov ebx,1 ; ¯®¤äãªæ¨ï 1, ç «® ¯¥à¥à¨á®¢ª¨ |
15 | int 0x40 |
25 | int 0x40 |
16 | ; ===== !!! |
26 | ; ===== !!! |
17 | mov eax,0 ; äãªæ¨ï 0: ®¯à¥¤¥«¨âì ¨ ¢ë¢¥á⨠®ª® |
27 | mov eax,0 ; äãªæ¨ï 0: ®¯à¥¤¥«¨âì ¨ ¢ë¢¥á⨠®ª® |
18 | mov ebx,100*65536+250 ; [x ç «ìë©] *65536 + [x à §¬¥à] |
28 | mov ebx,100*65536+250 ; [x ç «ìë©] *65536 + [x à §¬¥à] |
Line 19... | Line 29... | ||
19 | mov ecx,ebx ;,100*65536+250 ; [y ç «ìë©] *65536 + [y à §¬¥à] |
29 | mov ecx,ebx ;,100*65536+250 ; [y ç «ìë©] *65536 + [y à §¬¥à] |
20 | mov edx,0x02FFFFFF |
30 | mov edx, 0x34FFFFFF |
21 | - | ||
22 | mov esi,0x808899AA ; 梥⠧ £®«®¢ª RRGGBB |
- | |
23 | mov edi,0xFFAAcc ; 梥â à ¬ª¨ RRGGBB |
- | |
24 | int 0x40 |
- | |
25 | ; ¢ § £®«®¢ª¥ KOX v0.001 |
- | |
26 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
- | |
27 | mov ebx,8*65536+8 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
- | |
28 | mov ecx,0x00224422 ; 梥â ⥪áâ RRGGBB |
31 | |
- | 32 | mov esi, 0x808899AA ; 梥⠧ £®«®¢ª RRGGBB |
|
29 | mov edx,text ; 㪠§ ⥫ì ç «® ⥪áâ |
33 | mov edi, caption ; § £®«®¢®ª |
30 | mov esi,texts-text ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
34 | int 0x40 |
31 | int 0x40 |
35 | |
32 | ;-----------------------------------#----------------------------------------- |
36 | ;-----------------------------------#----------------------------------------- |
33 | ; SCENE OF GAME - PLAY YARD - BOARD - DESK - PLAYING FIELD |
37 | ; SCENE OF GAME - PLAY YARD - BOARD - DESK - PLAYING FIELD |
34 | ;--------------- |
38 | ;--------------- |
35 | playing_field ;macro in macs.inc |
39 | playing_field ;macro in macs.inc |
36 | ;------------------------------------------------------------------------------- |
40 | ;------------------------------------------------------------------------------- |
37 | ; -------- |
- | |
38 | ;------------------------------------------------------------------------------- |
- | |
39 | ;buttons: |
- | |
40 | mov eax,8 ; äãªæ¨ï 8: ®¯à¥¤¥«¨âì ¨ ¢ë¢¥á⨠ª®¯ªã |
- | |
41 | mov ebx,230*65536+12 ; [x ç «ìë©] *65536 + [x à §¬¥à] |
- | |
42 | mov ecx,5*65536+12 ; [y ç «ìë©] *65536 + [y à §¬¥à] |
- | |
43 | mov edx,100 ; ¨¤¥â¨ä¨ª â®à ª®¯ª¨ =100 |
- | |
44 | mov esi,0xFF6611 ; 梥⠪®¯ª¨ RRGGBB |
41 | ; -------- |
45 | int 0x40 ; === === |
42 | ;------------------------------------------------------------------------------- |
46 | ;-------------------------------------------- |
43 | ;buttons: |
47 | mov eax,8 ; |
44 | mov eax,8 ; |
48 | mov ebx,200*65536+35 ; ; |
45 | mov ebx,200*65536+35 ; |
49 | mov ecx,25*65536+20 ; |
46 | mov ecx,15*65536+20 ; |
50 | mov edx,200 ;== NEW GAME == |
47 | mov edx,200 ;== NEW GAME == |
51 | mov esi,0xCC66CC |
48 | mov esi, [colors+0x18] |
52 | int 0x40 |
49 | int 0x40 |
53 | ;-------------------------------------------- |
50 | ;-------------------------------------------- |
54 | mov eax,4 ; ¯¨á âì ⥪áâ ª®¯ª¥ NEW |
51 | mov eax,4 ; ¯¨á âì ⥪áâ ª®¯ª¥ NEW |
55 | mov ebx,210*65536+30 |
52 | mov ebx,210*65536+20 |
56 | mov ecx,cB |
53 | mov ecx,[colors+0x1C] |
57 | mov edx,textend |
54 | mov edx,textend |
58 | mov esi,3 |
55 | mov esi,3 |
Line 86... | Line 83... | ||
86 | call draw_window ; ¢ë§ë¢ ¥¬ äãªæ¨î draw_window ¨ |
83 | call draw_window ; ¢ë§ë¢ ¥¬ äãªæ¨î draw_window ¨ |
87 | jmp event_wait ; ¢®§¢à é ¥¬áï § ¤ ª 横«ã ®¦¨¤ ¨ï |
84 | jmp event_wait ; ¢®§¢à é ¥¬áï § ¤ ª 横«ã ®¦¨¤ ¨ï |
88 | key: |
85 | key: |
89 | mov eax,2 ; áç¨âë¢ ¥¬ ª®¤ ¦ ⮩ ª« ¢¨è¨. ®§¢à é¥ ¢ ah. |
86 | mov eax,2 ; áç¨âë¢ ¥¬ ª®¤ ¦ ⮩ ª« ¢¨è¨. ®§¢à é¥ ¢ ah. |
90 | int 0x40 ; « ¢¨è ¤®«¦ ¡ëâì ¯à®ç¨â ¤«ï ®ç¨á⪨ |
87 | int 0x40 ; « ¢¨è ¤®«¦ ¡ëâì ¯à®ç¨â ¤«ï ®ç¨á⪨ |
91 | cmp ah,27 |
- | |
92 | je clos0 ; exit on ESC |
- | |
93 | jmp event_wait ; ¢®§¢à â ª event_wait |
88 | jmp event_wait ; ¢®§¢à â ª event_wait |
94 | button: |
89 | button: |
95 | mov eax,17 ; áç¨âë¢ ¥¬ ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
90 | mov eax,17 ; áç¨âë¢ ¥¬ ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
96 | int 0x40 ; ¢®§¢à é¥ ¢ ah. |
91 | int 0x40 ; ¢®§¢à é¥ ¢ ah. |
97 | ;------------------------------------------------------------------------------- |
92 | ;------------------------------------------------------------------------------- |
98 | ; ᬮâਬ, ª ª ï ª®¯ª ¡ë« ¦ â ¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ॠ£¨à㥬. |
93 | ; ᬮâਬ, ª ª ï ª®¯ª ¡ë« ¦ â ¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ॠ£¨à㥬. |
99 | ;------------------------------------------------------------------------------- |
94 | ;------------------------------------------------------------------------------- |
100 | cmp ah,100 ; ª®¯ª á id=100("§ ªàëâì")? |
95 | cmp ah, 1 ; ª®¯ª á id=1 ("§ ªàëâì")? |
101 | jne noclose ; |
96 | jne noclose ; |
102 | clos0: ; |
97 | clos0: ; |
103 | mov eax,-1 ; äãªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã |
98 | mov eax,-1 ; äãªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã |
104 | int 0x40 ; |
99 | int 0x40 ; |
105 | noclose: ; ª®¯ª id=200( "New" ) |
100 | noclose: ; ª®¯ª id=200( "New" ) |
Line 218... | Line 213... | ||
218 | cmp byte[xwin],1 ;ä« £ ¯®¡¥¤ë ãáâ ®¢«¥? |
213 | cmp byte[xwin],1 ;ä« £ ¯®¡¥¤ë ãáâ ®¢«¥? |
219 | jne del5 ;¥â - ¯¥à¥áª®ª delay |
214 | jne del5 ;¥â - ¯¥à¥áª®ª delay |
Line 220... | Line 215... | ||
220 | 215 | ||
221 | mov eax,4 ; ä㪠4: ¯¨á âì ⥪áâ 'WINNER!' |
216 | mov eax,4 ; ä㪠4: ¯¨á âì ⥪áâ 'WINNER!' |
222 | mov ebx,18*65536+215 ; [x ç] *65536 + [y ç] |
217 | mov ebx,18*65536+215 ; [x ç] *65536 + [y ç] |
223 | mov ecx,0x10FF22FF ; 梥â ⥪áâ RRGGBB |
218 | mov ecx, [colors+0x20] ; 梥â ⥪áâ RRGGBB |
224 | mov edx,texts ; 㪠§ ⥫ì ç «® ⥪áâ |
219 | mov edx,texts ; 㪠§ ⥫ì ç «® ⥪áâ |
225 | mov esi,textend-texts ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
220 | mov esi,textend-texts ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
226 | int 0x40 ; |
221 | int 0x40 ; |
Line 249... | Line 244... | ||
249 | jne @F ;¥â - á«ãç ©ë© å®¤ (㦥 ¢ esi) |
244 | jne @F ;¥â - á«ãç ©ë© å®¤ (㦥 ¢ esi) |
250 | mov esi,4 ;¤ - 室¨¬ ¢ æ¥âà (4) ¢¬¥áâ® á«ãç. |
245 | mov esi,4 ;¤ - 室¨¬ ¢ æ¥âà (4) ¢¬¥áâ® á«ãç. |
251 | @@: |
246 | @@: |
252 | mov dword[idx],esi ;á®åà ¨¬ ¢ idx |
247 | mov dword[idx],esi ;á®åà ¨¬ ¢ idx |
253 | ;esi=0..8 - index |
248 | ;esi=0..8 - index |
254 | call o_com ;¯à®¢¥àª 24åê ª®¬¡¨ 権 XX0 |
249 | call o_com ;¯à®¢¥àª 24å ª®¬¡¨ 権 XX0 |
255 | call x_com ;¯à®¢¥àª 24åê ª®¬¡¨ 権 00* |
250 | call x_com ;¯à®¢¥àª 24å ª®¬¡¨ 権 00* |
Line 256... | Line 251... | ||
256 | 251 | ||
257 | mov esi,dword[idx] ;idx-¨¤¥ªá ª«¥âª¨(0..8) ªã¤ 室 |
252 | mov esi,dword[idx] ;idx-¨¤¥ªá ª«¥âª¨(0..8) ªã¤ 室 |
258 | shl esi,2 ; esi*4 - ¯®«¥ á®á⮨⠨§ § ¯¨á¥© ¯® dword |
253 | shl esi,2 ; esi*4 - ¯®«¥ á®á⮨⠨§ § ¯¨á¥© ¯® dword |
259 | mov eax,dword[pole+esi] ; |
254 | mov eax,dword[pole+esi] ; |
Line 276... | Line 271... | ||
276 | cmp byte[owin],1 |
271 | cmp byte[owin],1 |
277 | jne event_wait |
272 | jne event_wait |
Line 278... | Line 273... | ||
278 | 273 | ||
279 | mov eax,4 ; ä㪠4: ¯¨á âì ⥪áâ 'LOOSER!' |
274 | mov eax,4 ; ä㪠4: ¯¨á âì ⥪áâ 'LOOSER!' |
280 | mov ebx,48*65536+215 ; [x ç] *65536 + [y ç] |
275 | mov ebx,48*65536+215 ; [x ç] *65536 + [y ç] |
281 | mov ecx,0x10FF22FF ; 梥â ⥪áâ RRGGBB |
276 | mov ecx, [colors+0x20] ; 梥â ⥪áâ RRGGBB |
282 | mov edx,lootxt ; 㪠§ ⥫ì ç «® ⥪áâ |
277 | mov edx,lootxt ; 㪠§ ⥫ì ç «® ⥪áâ |
283 | mov esi,text-lootxt ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
278 | mov esi,text-lootxt ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
284 | int 0x40 ; |
279 | int 0x40 ; |
285 | jmp event_wait ; ¢®§¢à é ¥¬áï § ¤ ª 横«ã ®¦¨¤ ¨ï |
280 | jmp event_wait ; ¢®§¢à é ¥¬áï § ¤ ª 横«ã ®¦¨¤ ¨ï |