放在最前面:所用棋盘棋子均为贴图,透明背景贴图的方法源自http://tieba.baidu.com/p/4410326868?qq-pf-to=pcqq.c2c
IDE:VS2015。代码量算上头文件1800行,给出了详细注释。
答辩0分垃圾程序系列第一弹,只用了基础C写的。指针结构体啥的都没用,存储也只是文件的基本操作,没用用链表啥的。
主界面:点击第三个按钮查看积分对战积分,未做排序。

Player vs Player:人人的积分对战,任意创建ID

步迹显示,最后一步落子红色标记,右键红色标记子悔棋,提取人机的建议落子位蓝色标记,存档:

读档:

AI:任意先后手,悔棋改为按钮一键2步,可以选择在棋盘上显示AI的估分信息(剪枝后无用,我在代码后面留了未剪枝的部分可以拿来调试评估器)。搜索深度依次为1,3,5,7,9。7及以上很慢,5还是秒完的。每层搜索前框定了搜索范围。除了叶子节点,对范围内的棋位用快速排序法做了排序以配合α-β剪枝,排序标准是单个位子预估分,叶子节点返回的是对双方整体局面的评价。如果排序时做个安全范围的判断,剪掉那些相对安全的垃圾位置,7层秒完没什么问题,想秒9层还得对叶子节点估分器做修改。估分未对跳棋的情况做考虑,太复杂了。

IDE:VS2015。代码量算上头文件1800行,给出了详细注释。
答辩0分垃圾程序系列第一弹,只用了基础C写的。指针结构体啥的都没用,存储也只是文件的基本操作,没用用链表啥的。
主界面:点击第三个按钮查看积分对战积分,未做排序。

Player vs Player:人人的积分对战,任意创建ID

步迹显示,最后一步落子红色标记,右键红色标记子悔棋,提取人机的建议落子位蓝色标记,存档:

读档:

AI:任意先后手,悔棋改为按钮一键2步,可以选择在棋盘上显示AI的估分信息(剪枝后无用,我在代码后面留了未剪枝的部分可以拿来调试评估器)。搜索深度依次为1,3,5,7,9。7及以上很慢,5还是秒完的。每层搜索前框定了搜索范围。除了叶子节点,对范围内的棋位用快速排序法做了排序以配合α-β剪枝,排序标准是单个位子预估分,叶子节点返回的是对双方整体局面的评价。如果排序时做个安全范围的判断,剪掉那些相对安全的垃圾位置,7层秒完没什么问题,想秒9层还得对叶子节点估分器做修改。估分未对跳棋的情况做考虑,太复杂了。
