![]() |
中国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: 抄错了,哈哈 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 |