中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-22 12:08
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]五子棋人机对战批处理游戏 查看 13,585 回复 73
46 发表于 2009-06-03 02:39 ·  中国 河北 唐山 联通
初级用户
积分 29
发帖 17
注册 2009-06-02 06:03
17年会员
UID 146516
性别 男
状态 离线
哎?桌面上的“春江花月夜”从哪来的?

是这个批处理从网上下来的吗?
47 发表于 2009-06-04 01:24 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
re 楼上
cjhyy.mid和playlist.vbs是程序自己生成的,现在可以自动关闭背景音乐了。
请重新下载.
谢谢使用。
精简
=> 个人网志
48 发表于 2009-06-04 04:36 ·  中国 宁夏 银川 西夏区 电信
新手上路
积分 2
发帖 10
注册 2009-02-16 13:20
17年会员
UID 138979
性别 男
状态 离线
首先说一下楼上的门太有才了!其他的没看就是41楼的那个带音乐的貌似设计的还是不到位,悔棋可以无限悔,可以一直悔到第一步,期待高手的完善
49 楼主你好 你的那个5子棋文件大小可以 缩小到 50.7k 发表于 2009-06-04 11:08 ·  中国 湖北 黄石 联通
新手上路
积分 16
发帖 11
注册 2009-02-02 20:26
17年会员
UID 137868
性别 男
状态 离线
" ####### 代码 #########
'Any2Bat.vbs by zzzEVAzzz
on error resume next
set arg=wscript.arguments
if arg.count=0 then wscript.quit
with CreateObject("ADODB.Stream")
.type=1:.open:.loadfromfile arg(0):bs=.read:l=.size:.close
end with
if err.number<>0 then wscript.quit
set fso=CreateObject("Scripting.FileSystemObject")
with fso.opentextfile(arg(0)&".bat",2,true)
if err.number<>0 then wscript.quit
.writeline "@echo bs=_>xx.vbs"
for k=1 to l step 129
.write "@echo """
.write b64b(midb(bs,k,129))
.writeline """+_>>xx.vbs"
next
.writeline "@echo """":set rs=CreateObject(""ADODB.Recordset"")>>xx.vbs"
.writeline "@echo set ado=CreateObject(""ADODB.Stream"")>>xx.vbs"
.writeline "@echo l=len(bs):ss="""":for k=1 to l step 4096:ss=ss+ub64(mid(bs,k,4096)):next:l=len(ss)>>xx.vbs"
.writeline "@echo rs.fields.append ""b"",205,l/2:rs.open:rs.addnew:rs(""b"")=ss+chrb(0):rs.update>>xx.vbs"
.writeline "@echo ado.mode=3:ado.type=1:ado.open:ado.write rs(""b"").getchunk(l/2)>>xx.vbs"
.writeline "@echo ado.savetofile """+fso.getfilename(arg(0))+""",2:ado.close>>xx.vbs"
.writeline "@echo function ub64(s):dim t(4),b(3):ub64="""":n=len(s):r=2 >>xx.vbs"
.writeline "@echo if n mod 4^<^>0 then exit function:end if:for i=1 to n step 4:for j=0 to 3 >>xx.vbs"
.writeline "@echo a=asc(mid(s,i+j,1)):if a=43 then:a=62:else if a=47 then:a=63:else if a^>47 and a^<58 then:_>>xx.vbs"
.writeline "@echo a=a+4:else if a=61 then:a=0:if r=2 then r=j-2:end if:else if a^>64 and a^<91 then:_>>xx.vbs"
.writeline "@echo a=a-65:else if a^>96 and a^<123 then:a=a-71:else:exit function:_>>xx.vbs"
.writeline "@echo end if:end if:end if:end if:end if:end if:t(j)=a:next>>xx.vbs"
.writeline "@echo b(0)=t(0)+t(1)*64 mod 256:b(1)=t(1)\4+t(2)*16 mod 256:b(2)=t(2)\16+t(3)*4 >>xx.vbs"
.writeline "@echo for j=0 to r:if b(j)^<16 then ub64=ub64+""0"":end if:ub64=ub64+hex(b(j))>>xx.vbs"
.writeline "@echo next:next:end function>>xx.vbs&&cscript.exe //nologo xx.vbs&del xx.vbs"
end with
const b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
function b64b(bin)
b64b=""
n=lenb(bin)
for i=1 to n step 3
a=ascb(midb(bin,i,1))
b64b=b64b+mid(b64,a mod 64+1,1)
if i<n then
b=ascb(midb(bin,i+1,1))
b64b=b64b+mid(b64,(a\64+b*4)mod 64+1,1)
if i+1<n then
c=ascb(midb(bin,i+2,1))
b64b=b64b+mid(b64,(b\16+c*16)mod 64+1,1)
b64b=b64b+mid(b64,c\4+1,1)
else
b64b=b64b+mid(b64,b\16+1,1)
b64b=b64b+"="
end if
else
b64b=b64b+mid(b64,a\64+1,1)
b64b=b64b+"=="
end if
next
end function

" ####### 代码 #########

请将 以上 保存 为 .vbs

然后 请将 CJHYY.MID 拖到 保存的 .vbs 文件上

之后 会 生成 一个 包涵 CJHYY.MID 的 .bat (只有41K)

将 包涵 CJHYY.MID 的 .bat 内容 做 适当修改 即可 加入到你的 五子棋.bat 当中了
50 发表于 2009-06-19 02:18 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
支持鼠标的人机对战五子棋批处理

[ Last edited by netbenton on 2009-6-19 at 06:55 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
zh159 +20 2009-06-20 01:21
附件
五子棋+鼠标.rar (31.16 KiB, 下载附件所需积分 1 点, 下载次数: 80)
精简
=> 个人网志
51 发表于 2009-06-20 01:28 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
这个爽,省了转换VBS了...
52 发表于 2009-06-20 04:14 ·  中国 重庆 电信
初级用户
积分 105
发帖 44
注册 2006-10-05 13:57
19年会员
UID 64618
状态 离线
哈哈,这里是高手辈出的地方啊
从以前的通讯录到支持鼠标的五子棋
53 发表于 2009-07-03 03:30 ·  中国 广东 广州 电信
新手上路
积分 2
发帖 2
注册 2009-07-02 04:30
16年会员
UID 148539
性别 男
状态 离线
这也太强了吧,真是要登峰造极!
54 发表于 2009-07-05 10:59 ·  中国 海南 三亚 电信
新手上路
积分 3
发帖 2
注册 2009-05-23 10:05
17年会员
UID 145782
性别 男
状态 离线
批处理还有这样的做法,..楼主太牛了...我绝对支持呀
55 发表于 2009-07-06 07:25 ·  中国 北京 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
真是太好了,不过哪个 cmos 能用批处理实现么 ??
56 发表于 2009-07-07 11:57 ·  中国 上海 广电网
新手上路
积分 7
发帖 3
注册 2007-04-18 05:45
19年会员
UID 85578
性别 男
状态 离线
太历害了!看不懂了
57 发表于 2009-07-07 12:51 ·  中国 四川 成都 电信
初级用户
★★
积分 118
发帖 66
注册 2006-08-18 16:04
19年会员
UID 60797
性别 男
状态 离线
这也太强了,
好好学习
  天天向上
58 发表于 2009-07-07 14:58 ·  中国 上海 黄浦区 电信
初级用户
积分 32
发帖 19
注册 2007-08-05 07:24
18年会员
UID 94664
性别 男
状态 离线
向前辈们学习~~
59 发表于 2009-07-08 02:02 ·  中国 浙江 宁波 电信
新手上路
积分 1
发帖 1
注册 2009-07-06 01:05
16年会员
UID 148799
性别 男
状态 离线
都好强啊
60 发表于 2009-07-31 11:59 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
对比了一下,一些flash做的五子棋游戏的智能还比不上这个批处理的,所以该的批处理五子棋游戏,可玩性还是有的,无聊时可以休闲玩一下。


2009.8.14修改
修正一些bug,并更新三方工具,并组合背景音乐。

[ Last edited by netbenton on 2009-8-14 at 08:10 ]
附件
批处理五子棋.rar (29.05 KiB, 下载次数: 97)
精简
=> 个人网志
论坛跳转: