gomoku: Use 1-bit images instead of chars.
git-svn-id: svn://kolibrios.org@7673 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
;http://sources.ru/pascal/gamestxt/go-moku.zip
|
;http://sources.ru/pascal/gamestxt/go-moku.zip
|
||||||
|
|
||||||
N equ 19 ; Size of the board
|
N = 19 ; Size of the board
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0x0
|
org 0x0
|
||||||
@@ -8,8 +8,8 @@ use32
|
|||||||
dd 0x1
|
dd 0x1
|
||||||
dd START
|
dd START
|
||||||
dd I_END
|
dd I_END
|
||||||
dd (I_END+200+13*N*N) and not 3
|
dd E_END
|
||||||
dd (I_END+200+13*N*N) and not 3
|
dd E_END
|
||||||
dd 0x0,0x0
|
dd 0x0,0x0
|
||||||
|
|
||||||
include '../../../macros.inc'
|
include '../../../macros.inc'
|
||||||
@@ -36,8 +36,8 @@ redraw_all:
|
|||||||
mcall 48,4
|
mcall 48,4
|
||||||
xchg eax,ecx
|
xchg eax,ecx
|
||||||
add ecx,100*65536+(16*N+26)
|
add ecx,100*65536+(16*N+26)
|
||||||
mcall 0,100*65536+(16*N+12),,0x34FFFFFF,,title
|
mcall 0,<100,16*N+12>,,0x34FFFFFF,,title
|
||||||
mcall 38,2*65536+(16*N),20*65536+20,0x00a0a0a0;000000
|
mcall 38,<2,16*N>,<20,20>,0x00a0a0a0;000000
|
||||||
mov edi,N
|
mov edi,N
|
||||||
@@: add ecx,16*65536+16
|
@@: add ecx,16*65536+16
|
||||||
mcall
|
mcall
|
||||||
@@ -151,26 +151,26 @@ print_board:
|
|||||||
@@: ret
|
@@: ret
|
||||||
|
|
||||||
.one:
|
.one:
|
||||||
mov ecx,0xd04ba010
|
mov [pic_plt+4],0x4ba010
|
||||||
bt [flags],4
|
|
||||||
jnc @f
|
|
||||||
mov ecx,0xd0ff0000
|
|
||||||
btr [flags],4
|
btr [flags],4
|
||||||
@@: push edi
|
jnc @f
|
||||||
mcall 4,,,txt_x,,0xffffff
|
mov [pic_plt+4],0xff0000
|
||||||
pop edi
|
@@: pushad
|
||||||
|
mov edx, ebx
|
||||||
|
mcall 65,pic_x,<7,7>,,1,pic_plt, 0
|
||||||
|
popad
|
||||||
.null:
|
.null:
|
||||||
add ebx,16*65536;+16
|
add ebx,16*65536;+16
|
||||||
jmp .end
|
jmp .end
|
||||||
.two:
|
.two:
|
||||||
mov ecx,0xd000459a
|
mov [pic_plt+4],0x00459a
|
||||||
bt [flags],4
|
|
||||||
jnc @f
|
|
||||||
mov ecx,0xd0ff0000
|
|
||||||
btr [flags],4
|
btr [flags],4
|
||||||
@@: push edi
|
jnc @f
|
||||||
mcall 4,,,txt_o,,0xffffff
|
mov [pic_plt+4],0xff0000
|
||||||
pop edi
|
@@: pushad
|
||||||
|
mov edx, ebx
|
||||||
|
mcall 65,pic_o,<7,7>,,1,pic_plt, 0
|
||||||
|
popad
|
||||||
jmp .null
|
jmp .null
|
||||||
|
|
||||||
|
|
||||||
@@ -700,8 +700,23 @@ ret
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
txt_x db 'X',0
|
pic_x db 10000010b, \
|
||||||
txt_o db 'O',0
|
01000100b, \
|
||||||
|
00101000b, \
|
||||||
|
00010000b, \
|
||||||
|
00101000b, \
|
||||||
|
01000100b, \
|
||||||
|
10000010b
|
||||||
|
|
||||||
|
pic_o db 01111100b, \
|
||||||
|
10000010b, \
|
||||||
|
10000010b, \
|
||||||
|
10000010b, \
|
||||||
|
10000010b, \
|
||||||
|
10000010b, \
|
||||||
|
01111100b
|
||||||
|
|
||||||
|
pic_plt dd 0xffffff, 0x000000
|
||||||
if lang eq ru
|
if lang eq ru
|
||||||
title db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
title db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||||||
txt_buttons db '<27><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>',0
|
txt_buttons db '<27><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>',0
|
||||||
@@ -731,11 +746,11 @@ flags rw 1
|
|||||||
;3: 室<> <20><><EFBFBD><EFBFBD><EFBFBD><E0AFA0>
|
;3: 室<> <20><><EFBFBD><EFBFBD><EFBFBD><E0AFA0>
|
||||||
;4: <20> print_board - <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬ 5-<2D><> <20> <20><><EFBFBD> <20><><EFBFBD>⮪
|
;4: <20> print_board - <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬ 5-<2D><> <20> <20><><EFBFBD> <20><><EFBFBD>⮪
|
||||||
|
|
||||||
proc_info process_information ; it should be after I_END, but i'm afraid of lines 11-12. dunkaist
|
|
||||||
I_END:
|
I_END:
|
||||||
align 16
|
align 16
|
||||||
Board rb N*N
|
Board rb N*N
|
||||||
Value rw N*N*2 ;<3B><>ࢠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><>ப<EFBFBD>
|
Value rw N*N*2 ;<3B><>ࢠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><>ப<EFBFBD>
|
||||||
Line rb 4*N*N*2
|
Line rb 4*N*N*2
|
||||||
|
proc_info process_information
|
||||||
|
rb 0x100 ; stack
|
||||||
|
E_END:
|
||||||
|
Reference in New Issue
Block a user