[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
12L的是HTML代码
应该保存为*.html。

TOP

能不能去掉那个主机箱滴的一声呀?

TOP

好牛X啊,不得不顶!

TOP

太好玩了,批处理也能做出游戏,劲

TOP

回复35楼,
谢谢作用。

第一张图是因为:存放的路径中含有空格所至,已经在一楼更正,请重新下载

第二、三张图是因为:三方工具工作的不稳定,正在联系写cmos.exe的作者更正。


=========

为出错给你造成的不便表示谦意。。。

TOP

这是什么原因啊  怎么不能用 出错!

TOP

哥们太牛了,不知道bash下有没有类似的东西?

TOP

非常佩服楼主!!!!

TOP

可能是鼠标三方已经更新,请到下面的地址下载打包好的:
http://www.cn-dos.net/forum/viewthread.php?tid=47326&fpage=1
50楼

60楼有所更新

对比了一下,一些flash做的五子棋游戏的智能还比不上这个批处理的,所以该的批处理五子棋游戏,可玩性还是有的,无聊时可以休闲玩一下对比了一下,一些flash做的五子棋游戏的智能还比不上这个批处理的,所以该的批处理五子棋游戏,可玩性还是有的,无聊时可以休闲玩一下

点此下载:http://www.cn-dos.net/forum/attachment.php?aid=4906&checkid=af590&download=1

[要看最新终修改请到一楼下载附件]

[ 本帖最后由 netbenton 于 2009-8-14 21:00 编辑 ]

TOP

我电脑上set /a var=!var:~-2!*100+!var:~-6,-3!/4 这句报错,说找不到操作数?

TOP

鼠标版批处理五子棋做好了,需要cmos.exe三方鼠标支持
cmos.exe 下载地址:http://bbs.bathome.net/viewthread.php?tid=3148&extra=&page=1

  1. @echo off&setlocal enabledelayedexpansion
  2. mode con: lines=43 cols=110
  3. set li39=    A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S
  4. set  li0=  ┌─────────────────────────────────────┐
  5. set  li1=A│┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐│A
  6. set var=1
  7. for %%a in (!li39:~5^,-1!) do (set/a var+=2&set li!var!=%%a│├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤│%%a)
  8. for /l %%a in (2,2,36) do (set li%%a=  ││  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  ││)
  9. set li37=S│└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘│S
  10. set li38=  └─────────────────────────────────────┘
  11. set str=a b c d e f g h i j k l m n o p q r s
  12. for %%a in (%str%) do (set/a .+=1,%%a=.&set z!.!=%%a)
  13. set li5=!li5!   五 棋 子 人 机 对 战
  14. set li7=!li7!        批 处 理
  15. set li10=!li10!      电 脑 水 平 中 等
  16. set li31=!li31!  由 netbenton 编写完成
  17. set li33=!li33!  棋盘设计参照了 batman
  18. set li35=!li35!  鼠标三方支持  Defanive
  19. set li16=!li16!           [重来]
  20. set li17=!li17!         [退出]
  21. set li22=!li22!           [悔棋]
  22. set li19=!li19!       电脑最后下在:
  23. title   批处理五子棋
  24. set str=###################
  25. set .=0
  26. for /l %%a in (1,1,19) do (
  27.         set he%%a=!str!&set sh%%a=!str!
  28.         for /l %%b in (1,1,19) do set [%%a.%%b=0
  29. )
  30. set .=33
  31. for /l %%a in (5,1,19) do (
  32.         set pi%%a=!str:~,%%a!&set ni%%a=!str:~,%%a!
  33.         set pi!.!=!str:~,%%a!&set ni!.!=!str:~,%%a!
  34.         set/a .-=1
  35. )
  36. set ●=○&set ○=●
  37. set zhi=●
  38. set say=say
  39. ::设置电脑IQ
  40. set idea=@@@@#.1 #@@@@.5 @#@@@.4 @@@#@.2 @@#@@.3 vs0 $$$$#.1 #$$$$.5 $$#$$.3 $#$$$.4 $$$#$.2 vs1 #@@@##.2 ##@@@#.5 #@@#@#.3 #@#@@#.4 vs2 #@##@@#.4-5 #@@##@#.4-3 #@#@@.3-5 @#@@#.4-1 #@@@##.2-W-1 ##@@@#.5-W-6 vs3
  41. set idea=!idea! ##@@@.4-W-5 @@@##.2-W-1 @##@@#.4-5 #@##@@.3-4 #@#@#@.4-2 @#@#@#.3-5 vs4 #$$#$#.3-W-6-1 #$#$$#.4-W-1-6 ##$$$#.5-W-1-6 #$$$##.2-W-1-6 vs5 ##@@##.2-5-W-6-1 #@#@#.3-w-1-5 ##$$$.W-4-5 $$$##.W-2-1 $$##$.W-2-3 $##$$.W-3-4 $#$$#.W-4-1 $#$#$.W-4-2 #$$#$.W-2-5 ##$$#.W-4-W-1-5 #$$##.W-2-W-1-5 #$#$#.W-3-W-1-5 #$##$#.W-3-4
  42. set idea=!idea! vs7 #$$$#.1-5 @@###.4-3 ###@@.3-4 ###@###.3-5-W-2-6-W-1-7 vs8 ###$###.3-5 vs9 @####.4 ####@.2 #$###.3 ###$#.3
  43. set idea=!idea! ###@#.3 #@###.3 $####.3 ####$.3 $$###.3 ###$$.3 $#$##.2 ##$#$.4 #$##$.3 $##$#.3 $###$.3 vs10
  44. set iqam=1000000000
  45. color 2f
  46. :restart
  47. cls
  48. setlocal enabledelayedexpansion
  49. for /l %%a in (0,1,18) do (echo;  )
  50. set /p =                              选择谁先下: [玩家]  [电脑]  [退出]<NUL
  51. :cmos1
  52. cmos c f
  53. set var=!errorlevel!
  54. set /a var=!var:~-2!*100+!var:~-6,-3!/4
  55. if "!var!" equ "2015" goto :quit
  56. if "!var!" equ "2013" (set onez=○&set towz=●&set hou=☆)
  57. if "!var!" equ "2011" (set onez=●&set towz=○&set hou=★)
  58. if not defined onez goto :cmos1
  59. set a!onez!=电脑&set a!towz!=玩家
  60. (
  61. set ttr=!idea:@=%onez%!&set ttr=!ttr:$=%towz%!
  62. set idea=
  63. for %%a in (!ttr!) do (
  64.         for /f "tokens=1,2 delims=." %%b in ("%%a") do (set %%b=%%c&set idea=!idea! %%b)
  65. )
  66. set ttr=
  67. set li27=!li27!    !onez! !a%onez%!
  68. set li25=!li25!    !towz! !a%towz%!
  69. set/a pos=10,poh=10&goto :getok
  70. )
  71. :loop
  72. (if %zhi% equ %onez% goto :men
  73. set .=
  74. setlocal enabledelayedexpansion
  75. for %%a in (!idea!) do (
  76.         set str=%%a
  77.         if "!str:~,2!" neq "vs" (
  78.         for %%b in (he sh) do (
  79.                 set all=!%%b1!!%%b2!!%%b3!!%%b4!!%%b5!!%%b6!!%%b7!!%%b8!!%%b9!!%%b10!!%%b11!!%%b12!!%%b13!!%%b14!!%%b15!!%%b16!!%%b17!!%%b18!!%%b19!
  80.                 if "!all:%%a=!" neq "!all!" (
  81.                         for /l %%c in (1,1,19) do (
  82.                                 if "!%%b%%c:%%a=!" neq "!%%b%%c!" set/a .+=1&set put!.!=%%b %%c.%%a.!iqam!
  83.                         )
  84.         )        )
  85.         for %%b in (pi ni) do (
  86.                 set all=!%%b5!!%%b6!!%%b7!!%%b8!!%%b9!!%%b10!!%%b11!!%%b12!!%%b13!!%%b14!!%%b15!!%%b16!!%%b17!!%%b18!!%%b19!!%%b20!!%%b21!!%%b22!!%%b23!!%%b24!!%%b25!!%%b26!!%%b27!!%%b28!!%%b29!!%%b30!!%%b31!!%%b32!!%%b33!
  87.                 if "!all:%%a=!" neq "!all!" (
  88.                         for /l %%c in (5,1,33) do (
  89.                                 if "!%%b%%c:%%a=!" neq "!%%b%%c!" set/a .+=1&set put!.!=%%b %%c.%%a.!iqam!
  90.                         )
  91.         )        )
  92.         ) else (
  93.                 set/a "iqam=(iqam+1)/8"
  94.                 if %%a equ vs8 if defined . goto :get
  95.                 if %%a equ vs9 if defined . goto :get
  96.                
  97.                
  98.         )
  99. ))
  100. if defined . (goto :get)
  101. echo. 已经和棋了
  102. pause
  103. endlocal&goto :restart
  104. :men
  105. (
  106. set/a .=lips-1&for /f "tokens=1-3" %%b in ("li!liph! !lips! !.!") do (set %%b=!%%b:~0,%%d!%hou%!%%b:~%%c!)
  107. set li38=!li38![%悔:~,24%]
  108. cls
  109. for /l %%a in (0,1,39) do (echo    !li%%a!)
  110. for /f "tokens=1-3" %%b in ("li!liph! !lips! !.!") do (set %%b=!%%b:~0,%%d!%zhi%!%%b:~%%c!)
  111. set li38=%li38%
  112. echo !say:say=%error%!
  113. )
  114. :cmoslp
  115. (cmos c f
  116. set user=!errorlevel!
  117. set/a poh1=1!user:~-2!-100,pos1=!user:~-6,-3!/2-2
  118. set/a poh=poh1/2,pos=pos1/2,poh1=poh1-poh,pos1=pos1-pos,var=pos-1
  119. if "!poh!.!pos!" equ "8.23" endlocal&goto :restart
  120. if "!poh!.!pos!" equ "9.23" goto :quit
  121. if "!poh!.!pos!" equ "11.23" call :悔&goto :men
  122. if !poh1!!pos1! neq !poh!!pos! goto :cmoslp
  123. if not defined [!poh!.!pos! set error=输入点不存在!auser!&goto :men
  124. )
  125. if "!he%poh%:~%var%,1!" neq "#" set error=该点已经有子&goto men
  126. goto :getok
  127. :get
  128. set `=
  129. ::取最佳的走法
  130. for /l %%z in (!.!,-1,1) do (
  131. for /f "tokens=1,2,3 delims=." %%1 in ("!put%%z!") do (
  132. for /f "tokens=1-4" %%a in ("%%1 %%2") do (
  133.         set iqm=%%3
  134.         set vara=!%%a%%b:*%%c=!srqponmlkjihgfedcba0
  135.         for %%4 in (!%%2:-^=;!) do (
  136.           if "%%4" equ "W" (set/a iqm=iqm/5*3) else (
  137.                 set/a var=!vara:~19,1!+%%4
  138.                 if "%%a" equ "he" (set/a poh=%%b,pos=20-var)
  139.                 if "%%a" equ "sh" (set/a poh=20-var,pos=%%b)
  140.                 if %%b lss 19 (set/a var=%%b-var+1) else (set/a var=38-%%b-var+1)
  141.                 if "%%a" equ "pi" (if %%b lss 19 (set/a pos=var,poh=%%b-var+1) else (set/a poh=20-var,pos=%%b-19+var))
  142.                 if "%%a" equ "ni" (if %%b lss 19 (set/a pos=var,poh=19-%%b+var) else (set/a poh=var,pos=%%b-19+var))
  143.                 if not defined R!pos!R!poh!R set /a `+=1&set ram!`!=R!pos!R!poh!R
  144.                 set/a R!pos!R!poh!R+=iqm
  145.           )
  146.         )
  147. )
  148. )
  149. )
  150. set rmk=0
  151. for /l %%a in (1,1,!`!) do (
  152.         for %%b in (!ram%%a!) do (
  153.                 for %%c in (!%%b!) do (
  154.                         if %%c gtr !rmk! set/a rmk=%%c,.=0
  155.                         if %%c equ !rmk! set rmz!.!=%%b&set/a .+=1
  156.                 )
  157. )        )
  158. set/a .=!random!%%.
  159. for /f "tokens=1,2 delims=R" %%a in ("!rmz%.%!") do (set/a pos=%%a,poh=%%b)
  160. rem start set r^&echo !.!^&pause^&exit
  161. endlocal&set/a pos=%pos%,poh=%poh%
  162. set say=say !z%pos%!!z%poh%!(%poh%)&set error=电脑最后下在:
  163. :getok
  164. set zhi=!%zhi%!&set win=!zhi!!zhi!!zhi!!zhi!!zhi!
  165. (set/a piph=poh+pos-1,lips=pos*2+1,niph=19+pos-poh,liph=poh*2-1
  166. if !piph! lss 19 (set/a pips=pos) else (set/a pips=20-poh)
  167. if !niph! lss 19 (set/a nips=pos) else (set/a nips=poh)
  168. for %%a in ("li!liph! !lips!" "he!poh! !pos!" "sh!pos! !poh!" "pi!piph! !pips!" "ni!niph! !nips!") do (
  169.         for /f "tokens=1,2" %%b in (%%a) do (
  170.                 set/a .=%%c-1
  171.                 for %%d in (!.!) do (set %%b=!%%b:~0,%%d!%zhi%!%%b:~%%c!)
  172.                 if "!%%b:%win%=!" neq "!%%b!" set win=y
  173.         )
  174. ))
  175. (set/a asc%zhi%+=1
  176. set 悔= !z%pos%!!z%poh%!!悔!
  177. if !win! neq y goto :loop)
  178. cls
  179. for /l %%a in (0,1,39) do (echo    !li%%a!)
  180. set/p=   !a%zhi%! %zhi%子 第!asc%zhi%!手 !z%pos%!!z%poh%!(%poh%)  胜出 单击鼠标继续。。。  <NUL
  181. cmos c f
  182. endlocal&goto :restart
  183. :悔
  184. if not defined 悔 goto :eof
  185. if "!悔:~6,1!" equ "" goto :eof
  186. for %%a in (!悔:~^,6!) do (set str=%%a
  187. set/a poh=!str:~-1!,pos=!str:~,1!
  188. set/a piph=poh+pos-1,niph=19+pos-poh,liph=poh*2-1,lips=pos*2+1
  189. if !piph! lss 19 (set/a pips=pos) else (set/a pips=20-poh)
  190. if !niph! lss 19 (set/a nips=pos) else (set/a nips=poh)
  191. for %%a in ( "he!poh! !pos!" "sh!pos! !poh!" "pi!piph! !pips!" "ni!niph! !nips!") do (
  192.         for /f "tokens=1,2" %%b in (%%a) do (
  193.                         set/a .=%%c-1
  194.                         for %%d in (!.!) do (set %%b=!%%b:~0,%%d!#!%%b:~%%c!)
  195.         )
  196. )
  197. for /f "tokens=1,2" %%b in ("li!liph! !lips!") do (
  198.         set/a .=%%c-1
  199.         for %%d in (!.!) do (set %%b=!%%b:~0,%%d!┼!%%b:~%%c!)
  200. ))
  201. set/a asc%zhi%-=1
  202. set 悔=!悔:~6!
  203. set error=你悔棋,耍赖皮!
  204. if not defined 悔 goto :eof
  205. set/a poh=!悔:~2,1!,pos=!悔:~1,1!,liph=poh*2-1,lips=pos*2+1
  206. set say=say !z%pos%!!z%poh%!(%poh%)
  207. goto :eof
  208. :quit
  209. taskkill /fi "WINDOWTITLE eq 批处理五子棋*" /im cmd.exe
复制代码

TOP

努力

我玩过LZ的老版本,那个时候我还能赢上几盘,现在真是没的赢了。
我是新手,看到各位老师如此厉害,试想我也行吗?
为明天奋斗

TOP

看来我得加紧的学习 这样的都有

TOP

re 25楼
不好意思,现在补上了

re 26楼
有时间的话,看来要做个支持鼠标的才行;不过得用到三方。
要是用vbs协助,可以支持鼠标的话就好了。

TOP

这个都能做出来,真是让我这个菜鸟震惊!是在佩服楼主的强大能力。五体投地佩服ing..
只是我老是看花眼,如果能支持鼠标的话那真是完美啊!!.
逍遙濤濤

TOP

返回列表