7,6 → 7,16 |
macro main_loop |
{ |
|
; ®«ãç¨âì áâ ¤ àâë¥ æ¢¥â ®ª® |
;======================================== |
mov eax, 48 |
mov ebx, 3 |
mov ecx, colors |
mov edx, 40 |
int 0x40 |
|
|
|
; äãªæ¨ï ®âà¨á®¢ª¨ ®ª |
;======================================== |
draw_window: |
17,18 → 27,12 |
mov eax,0 ; äãªæ¨ï 0: ®¯à¥¤¥«¨âì ¨ ¢ë¢¥á⨠®ª® |
mov ebx,100*65536+250 ; [x ç «ìë©] *65536 + [x à §¬¥à] |
mov ecx,ebx ;,100*65536+250 ; [y ç «ìë©] *65536 + [y à §¬¥à] |
mov edx,0x02FFFFFF |
mov edx, 0x34FFFFFF |
|
mov esi,0x808899AA ; 梥⠧ £®«®¢ª RRGGBB |
mov edi,0xFFAAcc ; 梥â à ¬ª¨ RRGGBB |
mov edi, caption ; § £®«®¢®ª |
int 0x40 |
; ¢ § £®«®¢ª¥ KOX v0.001 |
mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
mov ebx,8*65536+8 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
mov ecx,0x00224422 ; 梥â ⥪áâ RRGGBB |
mov edx,text ; 㪠§ ⥫ì ç «® ⥪áâ |
mov esi,texts-text ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
int 0x40 |
|
;-----------------------------------#----------------------------------------- |
; SCENE OF GAME - PLAY YARD - BOARD - DESK - PLAYING FIELD |
;--------------- |
37,23 → 41,16 |
; -------- |
;------------------------------------------------------------------------------- |
;buttons: |
mov eax,8 ; äãªæ¨ï 8: ®¯à¥¤¥«¨âì ¨ ¢ë¢¥á⨠ª®¯ªã |
mov ebx,230*65536+12 ; [x ç «ìë©] *65536 + [x à §¬¥à] |
mov ecx,5*65536+12 ; [y ç «ìë©] *65536 + [y à §¬¥à] |
mov edx,100 ; ¨¤¥â¨ä¨ª â®à ª®¯ª¨ =100 |
mov esi,0xFF6611 ; 梥⠪®¯ª¨ RRGGBB |
int 0x40 ; === === |
;-------------------------------------------- |
mov eax,8 ; |
mov ebx,200*65536+35 ; ; |
mov ecx,25*65536+20 ; |
mov ebx,200*65536+35 ; |
mov ecx,15*65536+20 ; |
mov edx,200 ;== NEW GAME == |
mov esi,0xCC66CC |
mov esi, [colors+0x18] |
int 0x40 |
;-------------------------------------------- |
mov eax,4 ; ¯¨á âì ⥪áâ ª®¯ª¥ NEW |
mov ebx,210*65536+30 |
mov ecx,cB |
mov ebx,210*65536+20 |
mov ecx,[colors+0x1C] |
mov edx,textend |
mov esi,3 |
int 0x40 |
88,8 → 85,6 |
key: |
mov eax,2 ; áç¨âë¢ ¥¬ ª®¤ ¦ ⮩ ª« ¢¨è¨. ®§¢à é¥ ¢ ah. |
int 0x40 ; « ¢¨è ¤®«¦ ¡ëâì ¯à®ç¨â ¤«ï ®ç¨á⪨ |
cmp ah,27 |
je clos0 ; exit on ESC |
jmp event_wait ; ¢®§¢à â ª event_wait |
button: |
mov eax,17 ; áç¨âë¢ ¥¬ ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
97,7 → 92,7 |
;------------------------------------------------------------------------------- |
; ᬮâਬ, ª ª ï ª®¯ª ¡ë« ¦ â ¨ ᮮ⢥âáâ¢ãî騬 ®¡à §®¬ ॠ£¨à㥬. |
;------------------------------------------------------------------------------- |
cmp ah,100 ; ª®¯ª á id=100("§ ªàëâì")? |
cmp ah, 1 ; ª®¯ª á id=1 ("§ ªàëâì")? |
jne noclose ; |
clos0: ; |
mov eax,-1 ; äãªæ¨ï -1: § ¢¥àè¨âì ¯à®£à ¬¬ã |
220,7 → 215,7 |
|
mov eax,4 ; ä㪠4: ¯¨á âì ⥪áâ 'WINNER!' |
mov ebx,18*65536+215 ; [x ç] *65536 + [y ç] |
mov ecx,0x10FF22FF ; 梥â ⥪áâ RRGGBB |
mov ecx, [colors+0x20] ; 梥â ⥪áâ RRGGBB |
mov edx,texts ; 㪠§ ⥫ì ç «® ⥪áâ |
mov esi,textend-texts ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
int 0x40 ; |
251,8 → 246,8 |
@@: |
mov dword[idx],esi ;á®åà ¨¬ ¢ idx |
;esi=0..8 - index |
call o_com ;¯à®¢¥àª 24åê ª®¬¡¨ 権 XX0 |
call x_com ;¯à®¢¥àª 24åê ª®¬¡¨ 権 00* |
call o_com ;¯à®¢¥àª 24å ª®¬¡¨ 権 XX0 |
call x_com ;¯à®¢¥àª 24å ª®¬¡¨ 権 00* |
|
mov esi,dword[idx] ;idx-¨¤¥ªá ª«¥âª¨(0..8) ªã¤ 室 |
shl esi,2 ; esi*4 - ¯®«¥ á®á⮨⠨§ § ¯¨á¥© ¯® dword |
278,7 → 273,7 |
|
mov eax,4 ; ä㪠4: ¯¨á âì ⥪áâ 'LOOSER!' |
mov ebx,48*65536+215 ; [x ç] *65536 + [y ç] |
mov ecx,0x10FF22FF ; 梥â ⥪áâ RRGGBB |
mov ecx, [colors+0x20] ; 梥â ⥪áâ RRGGBB |
mov edx,lootxt ; 㪠§ ⥫ì ç «® ⥪áâ |
mov esi,text-lootxt ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
int 0x40 ; |