更改变量/布尔值的批次问题

时间:2014-05-26 00:44:46

标签: variables batch-file cmd

我正在制作批量RPG,目前我正在努力创建一个商店 买武器和东西。我想这样做,以便如果玩家有足够的金币(gld)他们可以购买武器并且它将武器的布尔值更改为true并从gld变量中夺走20金币。我究竟做错了什么?它不会减去黄金或更改为布尔值为true。

以下是代码:

set /p sword="Enter your selected sword number:"
if %sword%==1 if %gld% GEQ 20 set /a sword1 EQU true 
if %sword%==1 if %gld% GEQ 20 set /a gld EQU %gld%-20
if %sword%==1 if %gld% LSS 20 echo You don't have enough gold!

1 个答案:

答案 0 :(得分:1)

问题是您没有正确使用set命令。

set /p sword="Enter your selected sword number:"
if %sword%==1 if %gld% GEQ 20 set sword1=true 
if %sword%==1 if %gld% GEQ 20 set /a gld-=20
if %sword%==1 if %gld% LSS 20 echo You don't have enough gold!

您还可以制作一个if else语句来执行相同的操作

set /p sword="Enter your selected sword number:"
if %sword%==1 if %gld% GEQ 20 (
    set sword1=true 
    set /a gld-=20
)  else (
    echo You don't have enough gold!
)