Variables 如果变量=0,则批处理不检查
所以,我用批量编码制作了一个游戏,我在游戏中有一个商店,每个商店只卖一件物品。不幸的是,当我将项目的变量设置为1,然后将其减少为0时,代码不会确认没有更多的项目要出售Variables 如果变量=0,则批处理不检查,variables,batch-file,Variables,Batch File,所以,我用批量编码制作了一个游戏,我在游戏中有一个商店,每个商店只卖一件物品。不幸的是,当我将项目的变量设置为1,然后将其减少为0时,代码不会确认没有更多的项目要出售 :ForestHagShop cls set WSwrdHag=1 set WShldHag=1 set GldApHag=1 echo "What would you like, my dear?" echo 1.) Wooden Sword - 50 gold - (+10 Attack) echo 2.) Wooden S
:ForestHagShop
cls
set WSwrdHag=1
set WShldHag=1
set GldApHag=1
echo "What would you like, my dear?"
echo 1.) Wooden Sword - 50 gold - (+10 Attack)
echo 2.) Wooden Shield - 70 gold - (+30 Max HP)
echo 3.) Shiny Apple - 40 gold - (+30 HP)
echo.
set /p input6=)
if %input6% equ 1 goto BuySwrdHagChk
if %input6% equ 2 goto BuyShldHag
if %input6% equ 3 goto BuyAplHag
:BuySwrdHagChk
echo Checking...
echo.
echo **PRESS A KEY**
Pause >nul
if WSwrdHag LSS 1 goto OutSwordHag
:BuySwrdHag
set /a Gold=Gold-50
set /a Attack=Attack+10
set /a WSwrdHag=WSwrdHag-1
echo You hand over 50 gold for the
echo wooden sword. Your new stats are...
echo Health Points .. .. .. %HP%/%MaxHP%
echo Gold .. .. .. .. .. .. %Gold%
echo Attack Power .. .. .. %Attack%
echo.
echo **PRESS A KEY**
pause >nul
goto ForestHagShop
:OutSwordHag
echo The hag frowns, looking at you like
echo you're stupid.
echo "You already bought my wood sword,
echo idiot!"
echo.
echo **PRESS A KEY**
pause >nul
goto ForestHagShop
看起来您在检查变量时忘记了
%
分隔符
改变
if WSwrdHag LSS 1 goto OutSwordHag
将来
还有这些
set /a Gold=Gold-50
set /a Attack=Attack+10
set /a WSwrdHag=WSwrdHag-1
将来
set /a Gold=%Gold%-50
set /a Attack=%Attack%+10
set /a WSwrdHag=%WSwrdHag%-1
看起来您在检查变量时忘记了
%
分隔符
改变
if WSwrdHag LSS 1 goto OutSwordHag
将来
还有这些
set /a Gold=Gold-50
set /a Attack=Attack+10
set /a WSwrdHag=WSwrdHag-1
将来
set /a Gold=%Gold%-50
set /a Attack=%Attack%+10
set /a WSwrdHag=%WSwrdHag%-1
看起来您在检查变量时忘记了
%
分隔符
改变
if WSwrdHag LSS 1 goto OutSwordHag
将来
还有这些
set /a Gold=Gold-50
set /a Attack=Attack+10
set /a WSwrdHag=WSwrdHag-1
将来
set /a Gold=%Gold%-50
set /a Attack=%Attack%+10
set /a WSwrdHag=%WSwrdHag%-1
看起来您在检查变量时忘记了
%
分隔符
改变
if WSwrdHag LSS 1 goto OutSwordHag
将来
还有这些
set /a Gold=Gold-50
set /a Attack=Attack+10
set /a WSwrdHag=WSwrdHag-1
将来
set /a Gold=%Gold%-50
set /a Attack=%Attack%+10
set /a WSwrdHag=%WSwrdHag%-1
这把剑仍在库存中,而且会无限循环。。D:这是因为在:BuyswrdHag结束时,您将bak循环到ForestHagShop,在那里您将WSwrdHag重置为1…..您对
if
比较是正确的,但是set/a
命令不需要变量名周围的%符号。剑仍然在库存中,并且循环无限。。D:这是因为在:BuyswrdHag结束时,您将bak循环到ForestHagShop,在那里您将WSwrdHag重置为1…..您对if
比较是正确的,但是set/a
命令不需要变量名周围的%符号。剑仍然在库存中,并且循环无限。。D:这是因为在:BuyswrdHag结束时,您将bak循环到ForestHagShop,在那里您将WSwrdHag重置为1…..您对if
比较是正确的,但是set/a
命令不需要变量名周围的%符号。剑仍然在库存中,并且循环无限。。D:这是因为在:BuyswrdHag结束时,您将bak循环到ForestHagShop,在那里您将WSwrdHag重置为1…..您对if
比较的看法是正确的,但是set/a
命令不需要变量名周围的%符号。