申请VIP会员
加入收藏
首    页 | 象棋博客 | 象棋谱库 | 象棋视频 | 在线直播 | 网络赛场 | 象棋规则 | 象棋论坛
用户名:
密  码:
记住我的密码
  
公告:   
  • 棋坛快讯
  • 棋界动态
  • 赛制棋规
  • 棋人棋事
  • 棋诗棋文
  • 象棋史话
  • 象棋资料
  • 大师档案
  • 最新棋谱
  • 对局评注
  • 象棋讲座
  • 开局战略
  • 中局攻防
  • 残局决战
  • 排局欣赏
  • 百家争鸣
  • 网友评论
  • 论坛新贴
  论坛搜索: 我要投稿
 网络对弈
 在线对弈客户端安装程序
在线对弈 v3.21版
7978KB  
安装帮助 手机测试版
727
  日期: 2019-6-5 14:16:00   到底部 回复  [关闭]

战胜美国深蓝国际象棋计算机假和棋算法实现
楼主
 

bistu-mawenxiao,研制利用外循环
for src =0 to 64-1
next src
及内循环
for aim = 0 to 64-1
next aim
判断王在未被将军状态(list1.list(2)未有"+"标记),移动,而被对方吃灭情况
就是己方除王之外的每个棋子,对于aim 8*8 每个位置,若此位置为空白或对方棋子位置,就试移占之
若src循环,调用笔者piece 返回非空,表明可以移占,那样就不应移动己方王去送吃
Sub allow()
    qs = ""
    If 0 = nw(aim).HelpContextID Then
        qs = "-"
    Else
        If nxt = nw(aim).HelpContextID \ 10 - 1 Then If 4 = nw(aim).HelpContextID Mod 10 Then qs = "#" Else qs = "*"
    End If
End Sub
---
                            If "#" = Mid(List1.List(0), 9, 1) Then
                                If "+" = Mid(List1.List(2), 9, 1) Then
other:                              MsgBox "得胜"
                                Else
                                    For src = 0 To 64 - 1
                                        If ACK = nw(src).HelpContextID \ 10 - 1 Then
                                            If 4 <> nw(src).HelpContextID Mod 10 Then
                                                y0 = src \ 8: x0 = src Mod 8
                                                For aim = 0 To 64 - 1
                                                    allow
                                                    If "" <> qs Then
                                                        If "-" <> qs Then qs = "+"
                                                        If "" <> piece(nw(src).HelpContextID, src) Then GoTo other
                                                    End If
                                                Next aim
                                            End If
                                        End If
                                    Next src
                                    MsgBox "和棋"
                                End If
                                End
                            End If

(网友 727 供稿)

最前页 上一页  [1] 下一页 最末页  /0
关于我们 | 友情链接 | 网站管理
电话:13603119508  电子邮箱:zgxqds@126.com    © 2006,版权所有(中国象棋大师网)    冀ICP备05001823号