返回列表 发帖
本帖最后由 pcl_test 于 2015-3-13 14:58 编辑

回复 1# panda951
@echo off
setlocal enabledelayedexpansion
echo   123
echo  ─┼─┼─
echo   456
echo  ─┼─┼─
echo   789
echo 图中数字表示格子位置,输入相应数字即可在对应格子下子
echo.
set 1=.
set 2=.
set 3=.
set 4=.
set 5=.
set 6=.
set 7=.
set 8=.
set 9=.
:main
echo 玩家1 请输入格子位置[数字+回车] :
set /p n=
set !n!=O
echo   !1!!2!!3!
echo  ─┼─┼─
echo   !4!!5!!6!   玩家1 O √
echo  ─┼─┼─
echo   !7!!8!!9!   玩家2 X
echo 玩家2 请输入格子位置[数字+回车] :
set /p n=
set !n!=X
echo   !1!!2!!3!
echo  ─┼─┼─
echo   !4!!5!!6!   玩家1 O
echo  ─┼─┼─
echo   !7!!8!!9!   玩家2 X √
goto main
pauseCOPY

TOP

本帖最后由 pcl_test 于 2015-3-12 22:25 编辑

回复 6# panda951
模拟图片代码,按图片的信息输入可实现同样效果,未实现判断功能,待续
@echo off
setlocal enabledelayedexpansion
echo insert player name 1 :
set /p playerA=
echo insert player name 2 :
set /p playerB=
echo begin
set 1=1,
set 2=2,
set 3=3,
set 4=4,
set 5=5,
set 6=6,
set 7=7,
set 8=8,
set 9=9,
set num=!1!!2!!3!!4!!5!!6!!7!!8!!9!
set num=%num:~,-1%
echo player 1 %playerA% move ^<%num%^>:
set /p t=
set %t%=
set num=!1!!2!!3!!4!!5!!6!!7!!8!!9!
set num=%num:~,-1%
echo player 2 %playerB% move ^<%num%^>:
set /p t=
set %t%=
set num=!1!!2!!3!!4!!5!!6!!7!!8!!9!
set num=%num:~,-1%
echo player 1 %playerA% move ^<%num%^>:
set /p t=
set %t%=
set num=!1!!2!!3!!4!!5!!6!!7!!8!!9!
set num=%num:~,-1%
echo player 2 %playerB% move ^<%num%^>:
set /p t=
set %t%=
set num=!1!!2!!3!!4!!5!!6!!7!!8!!9!
set num=%num:~,-1%
echo player 1 %playerA% move ^<%num%^>:
set /p t=
set %t%=
echo player 1 %playerA% win
pauseCOPY
1

评分人数

    • panda951: 感谢给帖子标题标注[已解决]字样技术 + 1

TOP

回复 9# panda951
嗯,说了“只是模拟图片,未实现判断功能”,因为不用if基本实现不了

TOP

回复 11# panda951
能力有限,帮顶一下,LZ也要自顶,不要沉了

TOP

本帖最后由 pcl_test 于 2015-3-14 15:59 编辑

回复 15# panda951
没有跳转条件,所以只能在两个begin标签里循环,没有if“臣妾做不到呀”

TOP

回复 17# panda951
LZ自顶,不要沉了

TOP

回复 19# CrLf
这个我没有思路呀

TOP

回复 23# panda951
呵呵,不是有句话是这么说的,当有困难的时候,最好向曾经帮助过你的人求助而不是你曾经帮助过的人

TOP

小改了下游戏体验
@Echo Off 2>nul 3>nul
echo   123
echo  ─┼─┼─
echo   456
echo  ─┼─┼─
echo   789
echo 说明:图中数字表示格子位置,输入相应数字即可在对应格子下子
echo.
Set /P Player1=请输入玩家1姓名:
Set /P Player2=请输入玩家2姓名:
echo.
echo ^>^>^>^>游戏开始^<^<^<^<
echo.
:Start
Set /A N+=1
Set .%N%=
>nul Set .9||Goto Start
:Loop
Set /P Turn=请玩家1 ^<%Player1%^> 落子:
Set ..%Turn%&&Goto :Eof
Set .%Turn%=O
Set ..%Turn%=0
Set "_%.1%%.2%%.3%=0"
Set "_%.4%%.5%%.6%=0"
Set "_%.7%%.8%%.9%=0"
Set "_%.1%%.4%%.7%=0"
Set "_%.2%%.5%%.8%=0"
Set "_%.3%%.6%%.9%=0"
Set "_%.1%%.5%%.9%=0"
Set "_%.3%%.5%%.7%=0"
echo   %.1%%.2%%.3%
echo  ─┼─┼─
echo   %.4%%.5%%.6%  玩家1 O √
echo  ─┼─┼─
echo   %.7%%.8%%.9%  玩家2 X
echo.
>nul Set _OOO&&(Echo 玩家1 ^<%Player1%^> 胜利&Pause&Goto :Eof)
Set /P Turn=请玩家2 ^<%Player2%^> 落子:
Set ..%Turn%&&Goto :Eof
Set .%Turn%=X
Set ..%Turn%=0
Set "_%.1%%.2%%.3%=0"
Set "_%.4%%.5%%.6%=0"
Set "_%.7%%.8%%.9%=0"
Set "_%.1%%.4%%.7%=0"
Set "_%.2%%.5%%.8%=0"
Set "_%.3%%.6%%.9%=0"
Set "_%.1%%.5%%.9%=0"
Set "_%.3%%.5%%.7%=0"
echo   %.1%%.2%%.3%
echo  ─┼─┼─
echo   %.4%%.5%%.6%  玩家1 O
echo  ─┼─┼─
echo   %.7%%.8%%.9%  玩家2 X √
echo.
>nul Set _XXX&&(Echo 玩家2 ^<%Player2%^> 胜利&Pause&Goto :Eof)
Goto LoopCOPY

TOP

回复 25# panda951
LZ不放弃,顶起来就会有惊喜 ↖(^ω^)↗

TOP

本帖最后由 pcl_test 于 2015-3-15 19:47 编辑

回复 30# panda951
按你图的样式改了(说真的游戏体验没带格子的直观),记得给bailong360评分哟,多亏了他的思路
@Echo Off 2>nul 3>nul
setlocal enabledelayedexpansion
echo insert player name 1 :
Set /P Player1=
echo insert player name 1 :
Set /P Player2=
:Start
Set /A N+=1
Set .%N%=
>nul Set .9||Goto Start
:RT
Set /a T+=1
Set #%T%=%T%,
>nul Set #9||Goto RT
echo begin
:Loop
set num=!#1!!#2!!#3!!#4!!#5!!#6!!#7!!#8!!#9!
set num=%num:~,-1%
echo player 1 %player1% move ^<%num%^>:
Set /P Turn=
Set ..%Turn%&&Goto :Eof
set #%Turn%=
Set .%Turn%=O
Set ..%Turn%=0
Set "_%.1%%.2%%.3%=0"
Set "_%.4%%.5%%.6%=0"
Set "_%.7%%.8%%.9%=0"
Set "_%.1%%.4%%.7%=0"
Set "_%.2%%.5%%.8%=0"
Set "_%.3%%.6%%.9%=0"
Set "_%.1%%.5%%.9%=0"
Set "_%.3%%.5%%.7%=0"
>nul Set _OOO&&(echo player 1 %player1% win&Pause&Goto :Eof)
set num=!#1!!#2!!#3!!#4!!#5!!#6!!#7!!#8!!#9!
set num=%num:~,-1%
echo player 2 %player2% move ^<%num%^>:
Set /P Turn=
Set ..%Turn%&&Goto :Eof
set #%Turn%=
Set .%Turn%=X
Set ..%Turn%=0
Set "_%.1%%.2%%.3%=0"
Set "_%.4%%.5%%.6%=0"
Set "_%.7%%.8%%.9%=0"
Set "_%.1%%.4%%.7%=0"
Set "_%.2%%.5%%.8%=0"
Set "_%.3%%.6%%.9%=0"
Set "_%.1%%.5%%.9%=0"
Set "_%.3%%.5%%.7%=0"
>nul Set _XXX&&(echo player 2 %player2% win&Pause&Goto :Eof)
Goto LoopCOPY

TOP

回复 33# panda951
嗯,以使用的命令确实是初学者常用的,就思路而言,那是要对批处理比较熟悉才容易想到

TOP

回复 33# panda951
此帖也该结了,记得在标题标上[已解决]哟

TOP

本帖最后由 pcl_test 于 2015-3-15 20:53 编辑

回复 37# panda951
setlocal enabledelayedexpansion是开启变量延迟
>nul 2>nul 3>nul是用来屏蔽一些不必要的信息
#、_ 在这里只是普通符号
%ver%是变量的表示形式之一,!ver!是开启变量延迟之后的变量的表示形式
||是管道命令,就是||左边的命令要是执行失败或是没有执行那么就执行||右边的命令

话说你现在上的什么学?怎么要学批处理呢?应该改都是教VB或C什么的

TOP

回复 40# panda951
哦,是这个的话,批处理还是要掌握的,此外可以自学powershell,那你是职高或是中高技生?

TOP

返回列表