中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-19 18:43
47,814 主题排行 / 349,908 发帖 / 今日 0 篇 / 48,259 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创]五子棋人机对战批处理游戏
可打印版本  14,357 / 73
第16楼 huchaolan 发表于 2009-05-09 20:29
新手上路 发帖 6 积分 15
这个牛哈
看不懂,但玩的有意思
第17楼 everest79 发表于 2009-05-10 07:24
金牌会员 发帖 1,127 积分 2,564
我抄袭一下zh159


哈哈
第18楼 zh159 发表于 2009-05-10 13:50
金牌会员 发帖 1,467 积分 3,687
LS的代码只能用在IE浏览器为默认时,且有个bug:鼠标在边缘棋盘格移开后,并不是恢复边缘棋盘格的样子,而是变成中间棋盘格的样子
第19楼 netbenton 发表于 2009-05-10 13:56
银牌会员 发帖 752 积分 1,916 来自 广西
re 17楼
存为什么扩展名呀?我运行不了呀,
.vbs .js .html .bat
都试了不行呢?
第20楼 HAT 发表于 2009-05-10 23:19
版主 发帖 5,017 积分 9,023
Re 17楼
系统:XP SP2 EN
默认浏览器:IE 6

附件
2009-05-11_100903.png (5.66 KiB)
第21楼 everest79 发表于 2009-05-11 02:21
金牌会员 发帖 1,127 积分 2,564
Originally posted by zh159 at 2009-5-10 01:50 PM:
LS的代码只能用在IE浏览器为默认时,且有个bug:鼠标在边缘棋盘格移开后,并不是恢复边缘棋盘格的样子,而是变成中间棋盘格的样子



抄错了,哈哈
mouseout事件的文本应是char,我没看你后边替换的代码,直接填成+了
这个脚本我改了默认浏览器也是正常的呀
第22楼 everest79 发表于 2009-05-11 02:21
金牌会员 发帖 1,127 积分 2,564
就是vbs,嘿嘿
第23楼 everest79 发表于 2009-05-11 02:23
金牌会员 发帖 1,127 积分 2,564
这个错误我也碰到,原来是脚本中几个双字节符号造成的,我改成了cha(ascii)才解决掉,可能是你系统是英文版的原因吧
第24楼 HAT 发表于 2009-05-11 08:56
版主 发帖 5,017 积分 9,023
Re 23楼
能否改改代码让它同时兼容中英文系统呢?
第25楼 everest79 发表于 2009-05-11 10:44
金牌会员 发帖 1,127 积分 2,564
这些字符我也不熟,你可以换成英文字母先试试
只需要把chr(?????)换成chr(65)-chr(75)就可以了
第26楼 everest79 发表于 2009-05-11 11:38
金牌会员 发帖 1,127 积分 2,564
弄了半天,写了下边这个代码,主要用来得到五子棋落子坐标的横竖撇捺行
我的思路是电脑不去对比整个棋盘,而是紧跟对手的落子判断落子四行是否有五子的风险
只写到提取四行数组
用的是一维数组,像棋盘要是二维的话可以使用 行数*总列(19)+列数 转成一维的
因为一维数组识别四行比较方便,横行步进1,竖行是19,撇是18,捺是20

有关坐标的关系可以使用以下代码观察
显示二维坐标


显示一维坐标



第27楼 netbenton 发表于 2009-05-11 12:17
银牌会员 发帖 752 积分 1,916 来自 广西
不管是用二维坐标法,还是一维跨标法,最后还是要进行组串,然后才与规则串匹配
因为在进行规则串匹配时,是按串进行的。其实应该把:显示缓存、横、坚、撇、捺分别定义为数组串较好一点,不必要去进行多次组串操作。

电脑方是根据匹配到的最优规则串进行下子的,根据匹配到的是在哪个数组(横/坚/撇/捺)第几串的第几个字符,即可转换为实际坐标

因为定义了五个数组,所以只要下一个子,就要分别对这五个数组的相应位置进行替换,每个数组仅替换一行的一个字符即可

以行为单元显示肯定要比以字符为单元显示要快好多,因为用了显存串方式,所以可以直接以行为单元显示。
第28楼 HAT 发表于 2009-05-11 12:42
版主 发帖 5,017 积分 9,023
Re 26楼
我的思路是电脑不去对比整个棋盘,而是紧跟对手的落子判断落子四行是否有五子的风险

这样的话电脑的棋力是否太弱了?通常的五子棋算法都是对下一步双方可能出现的情况(四三、双三等等)进行优先级排序,然后选择优先级最高的落点吧。
第29楼 rubble 发表于 2009-05-12 08:09
初级用户 发帖 15 积分 23
算法还没弄懂
太牛了,批处理也有这么强的功能!
第30楼 SNSB 发表于 2009-05-12 08:33
初级用户 发帖 16 积分 31
Originally posted by rubble at 2009-5-12 08:09:
太牛了,批处理也有这么强的功能!

真想不到能搞出这一个东西出来,不过代码我就很难懂了。
上一页  1 2 3 4 5  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023