📄 电脑游戏中的人工智能制作.htm
字号:
<BR> movzx bx,al
<BR><BR> sub bl,31h ; 如果不是1..9
<BR> jc loc_2 ; 则重新输入
<BR> cmp bl,8
<BR> ja loc_2
<BR> cmp data_1[bx],al
<BR> jne loc_2
<BR> mov byte ptr data_1[bx],'x'
<BR> dec dl
<BR> jz short loc_3
<BR> mov al,'o'
<BR> call bestmove
<BR> mov [si],al
<BR> call iswin ; 判断是否已取得胜利
<BR> jnc loc_1
<BR> loc_3:
<BR> call printboard
<BR> mov ax,4c00h
<BR> int 21h
<BR>
<BR> data_1 db '12'
<BR> data_2 db '3456789'
<BR> data_3 db 0 <BR>
<BR> tictac endp
<BR> <BR>
<BR> printboard proc near
<BR> mov si,offset data_1
<BR> mov di,548h
<BR> mov cl,3
<BR>
<BR> locloop_4:
<BR> movsb
<BR> add di,5
<BR> movsb
<BR> add di,5
<BR> movsb
<BR> add di,133h
<BR> loop locloop_4
<BR>
<BR> retn
<BR> printboard endp
<BR> <BR>
<BR> iswin proc near
<BR> mov bx,1
<BR> mov bp,3
<BR> call sub_3 ; 检查横向是否完成
<BR> inc bx
<BR> inc bx
<BR> dec bp
<BR> dec bp
<BR> call sub_3 ; 检查纵向是否完成
<BR> call sub_4 ; 检查斜向是否完成
<BR> clc <BR> retn
<BR> iswin endp
<BR>
<BR> loc_5:
<BR> stc
<BR> retn
<BR> <BR>
<BR> sub_3 proc near
<BR> mov ah,3
<BR> mov si,offset data_1
<BR> loc_6:
<BR> mov di,si
<BR> call sub_5
<BR> add si,bp
<BR> dec ah
<BR> jnz loc_6
<BR> retn
<BR> sub_3 endp
<BR>
<BR> sub_4 proc near
<BR> mov di,offset data_1
<BR> inc bx
<BR> call sub_5
<BR> mov di,offset data_2
<BR> dec bx
<BR> dec bx
<BR> call sub_5
<BR> retn
<BR> sub_4 endp
<BR> <BR>
<BR> sub_5 proc near
<BR> mov cl,3
<BR>
<BR> locloop_7:
<BR> cmp [di],al
<BR> jne short loc_ret_8
<BR> add di,bx
<BR> loop locloop_7
<BR>
<BR> add &<BR><BR></DIV></DIV></DIV>
</CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -