当输入答案时,.BAT继续关闭

时间:2017-09-20 18:02:19

标签: batch-file

我正在为我的脚本类工作这个.BAT项目,当我输入诸如摇滚或纸张的答案时,我仍然坚持这个问题。我甚至在这个问题上问过我的教授,但他正在努力寻找解决方案。如果可能的话,我想首先找到解决方案。

我还创建了一个github链接,以便您可以看到整个脚本 https://github.com/CyborgVillager/Rock-Paper-Scissors/issues/1

这个项目名称叫做rps.bat,我不知道是否会响铃,以防万一你们之前有人这样做过哈哈。无论如何我都试图找到解决方案,同时你的帮助将不胜感激!

 REM Ask the player to make their choice
    SET /p answer= Type either rock, paper, or scissors:

    GOTO :EOF

    REM This procedure randomly determines the computer's choice

    :GetComputerChoice

    REM Get a random Number

2 个答案:

答案 0 :(得分:0)

2件事......最后......将GOTO :EOF改为GOTO :MyEnding没有任何影响,所以我将其排除......

我发现您的代码有两个问题。

一个......你宣称:Contunue为标签,但你正在做GOTO :Continue。由于:Contunue!= :Continue,这是一个问题。

然后就是这个...... 代码的这一部分位于CompareChoices标签中,缺少)

IF /I %answer% == rock (
IF %CardImage% == rock (
SET results="You Tie"
SET /a NoTies = NoTies +1
)

看看你如何将其他if陈述包裹在那个以下...我猜猜遗失的)就在这里

从此

IF /I %answer% == rock (
IF %CardImage% == rock (
SET results="You Tie"
SET /a NoTies = NoTies +1
)

IF %CardImage% == scissors (
SET results ="You Win"
SET /a NOWins = NoWins +1
)

IF %CardImage% == paper (
SET results ="You Lose"
SET /a NOLosses = NoLosses +1
)

对此。在最后一行添加了)

IF /I %answer% == rock (
IF %CardImage% == rock (
SET results="You Tie"
SET /a NoTies = NoTies +1
)

IF %CardImage% == scissors (
SET results ="You Win"
SET /a NOWins = NoWins +1
)

IF %CardImage% == paper (
SET results ="You Lose"
SET /a NOLosses = NoLosses +1
))

毕竟...游戏结果是错误的,但至少程序正在运行。由您决定结果;)或者问一个新问题吗?

修复标签名称可修复此错误The system cannot find the batch label specified - Continue,同时修复丢失的)修复了The syntax of the command is incorrect

建议提示......如果您正在积极处理bat文件并对其进行故障排除...请勿双击该文件。而是,运行CMD,然后从其中运行您的bat文件。不同之处在于,当从现有CMD实例运行时,而不是双击,CMD提示将在程序运行完毕后保留在屏幕上。因此,允许您查看如果要向上滚动的内容。

双击Bat文件时,一旦程序运行完毕,CMD提示就会消失(除非脚本结束时有暂停或超时)。

答案 1 :(得分:0)

GOTO :EOF是一个特殊命令。它将转到文件的末尾,以便您的代码正常工作"正确"。

https://technet.microsoft.com/en-us/library/bb490914.aspx