首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

【转帖】批处理版五子棋游戏(2009-06-02更新)解决思路

2012-01-30 
【转帖】批处理版五子棋游戏(2009-06-02更新)2009-06-02 更新:提高电脑棋力原文地址:http://bbs.bathome.cn/

【转帖】批处理版五子棋游戏(2009-06-02更新)
2009-06-02 更新:提高电脑棋力

原文地址:http://bbs.bathome.cn/thread-4423-1-1.html

BatchFile code
@echo off&setlocal enabledelayedexpansionmode con: lines=43 cols=110set li39=    A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  Sset  li0=  ┌─────────────────────────────────────┐set  li1=A│┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐│Aset var=1for %%a in (!li39:~5^,-1!) do (set/a var+=2&set li!var!=%%a│├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤│%%a)for /l %%a in (2,2,36) do (set li%%a=  ││  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  ││)set li37=S│└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘│Sset li38=  └─────────────────────────────────────┘set str=a b c d e f g h i j k l m n o p q r sfor %%a in (%str%) do (set/a .+=1,%%a=.&set z!.!=%%a)set li5=!li5!   五 棋 子 人 机 对 战set li7=!li7!        批 处 理set li10=!li10!      电 脑 水 平 中 等set li31=!li31!  由 netbenton 编写完成set li33=!li33!  棋盘设计参照了 batmantitle   批处理五子棋set str=###################set .=0for /l %%a in (1,1,19) do (        set he%%a=!str!&set sh%%a=!str!        for /l %%b in (1,1,19) do set [%%a.%%b=0)set .=33for /l %%a in (5,1,19) do (        set pi%%a=!str:~,%%a!&set ni%%a=!str:~,%%a!        set pi!.!=!str:~,%%a!&set ni!.!=!str:~,%%a!        set/a .-=1)set ●=○&set ○=●set zhi=●set say=say::设置电脑IQset 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 vs3set 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-4set idea=!idea! vs7 #$$$#.1-5 @@###.4-3 ###@@.3-4 ###@###.3-5-W-2-6-W-1-7 vs8 ###$###.3-5 vs9 @####.4 ####@.2 #$###.3 ###$#.3set idea=!idea! ###@#.3 #@###.3 $####.3 ####$.3 $$###.3 ###$$.3 $#$##.2 ##$#$.4 #$##$.3 $##$#.3 $###$.3 vs10set iqam=1000000000:restart(setlocal enabledelayedexpansionfor /l %%a in (0,1,39) do (echo    !li%%a!)set li39=!li39!   reboot重新开始,exit退出。set li37=!li37!       back 悔棋set /p var=选择谁先下[ W,玩家  D,电脑  Q,退出 ]:if /i "!var!" equ "Q" goto :quitif /i "!var!" equ "D" (set onez=○&set towz=●&set hou=☆) else (set onez=●&set towz=○&set hou=★)set a!onez!=电脑&set a!towz!=玩家)(set ttr=!idea:@=%onez%!&set ttr=!ttr:$=%towz%!set idea=for %%a in (!ttr!) do (        for /f "tokens=1,2 delims=." %%b in ("%%a") do (set %%b=%%c&set idea=!idea! %%b))set ttr=set li27=!li27!    !onez! !a%onez%!set li25=!li25!    !towz! !a%towz%!set/a pos=10,poh=10&goto :getok):loop(if %zhi% equ %onez% goto :menset .=setlocal enabledelayedexpansionfor %%a in (!idea!) do (        set str=%%a        if "!str:~,2!" neq "vs" (        for %%b in (he sh) do (                set all=!%%b1!!%%b2!!%%b3!!%%b4!!%%b5!!%%b6!!%%b7!!%%b8!!%%b9!!%%b10!!%%b11!!%%b12!!%%b13!!%%b14!!%%b15!!%%b16!!%%b17!!%%b18!!%%b19!                if "!all:%%a=!" neq "!all!" (                        for /l %%c in (1,1,19) do (                                if "!%%b%%c:%%a=!" neq "!%%b%%c!" set/a .+=1&set put!.!=%%b %%c.%%a.!iqam!                        )        )        )        for %%b in (pi ni) do (                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!                if "!all:%%a=!" neq "!all!" (                        for /l %%c in (5,1,33) do (                                if "!%%b%%c:%%a=!" neq "!%%b%%c!" set/a .+=1&set put!.!=%%b %%c.%%a.!iqam!                        )        )        )        ) else (                set/a "iqam=(iqam+1)/8"                if %%a equ vs8 if defined . goto :get                if %%a equ vs9 if defined . goto :get                                        )))if defined . (goto :get)echo. 已经和棋了pauseendlocal&goto :restart 



未完待续

[解决办法]
哇,真强,观摩中。。。
[解决办法]

[解决办法]
完了吗?
[解决办法]

热点排行