我决定制作一个非常简单的批处理文件游戏,但当它到达IF
时,我尝试将ERRORLEVEL
与一个字符进行比较,它就会退出。 我甚至尝试将其与ASCII码进行比较。
这是我的意大利面条代码,(我知道我不应该使用::
,我应该使用rem
代替,但这个尺寸的批次根本不会受到影响)
@echo off
::Declaracion_Variables
set /a dinero = 0
set /a clasificador
set /a picoa = true
set /a picob = false
::---------------------
:main
echo bienvenido a un juego hecho con archivos con lote
echo porque? tenia ganas
set /p clasificador="dale a algo para empezar"
cls
:Visualizar
echo tienes: %dinero%$
echo dale a g para minar
echo dale a s para ir al shop
choice /c gs
IF ERRORLEVEL == g (
IF "%picoa%" == "true" (
set /a dinero = dinero + 1
goto Visualizar
)
IF "%picob%" == "true" (
set /a dinero = dinero + 2
goto Visualizar
)
)
IF ERRORLEVEL == s (
IF "%picoa%" == "true" (
echo pico * 2 // 200$ // Producto A
echo terminar el juego // 600$ // Producto B
set /p clasificador="porfavor pulse la tecla corespondiente al producto o pulse K para salir"
IF "%clasificador%" == "a"(
IF "%dinero%" GTR 200 (
set /a picoa = false
set /a picob = true
cls
:Visualizar
)
IF "%dinero%" LSS 200 (
echo no tienes bastante dinero
pause
cls
:Visualizar
)
)
IF "%clasificador%" == "b"(
IF "%dinero%" GTR 600 (
cls
echo gracias por haber jugado
pause
exit
:Visualizar
)
IF "%dinero%" LSS 600 (
echo no tienes bastante dinero
pause
cls
:Visualizar
)
)
)
IF "%picob%" == "true" (
echo terminar el juego // 600$
set /p clasificador="porfavor pulse la tecla corespondiente al producto o pulse K para salir"
IF "%clasificador%" == "a"(
IF "%dinero%" GTR 600 (
cls
echo gracias por haber jugado
pause
exit
:Visualizar
)
IF "%dinero%" LSS 600 (
echo no tienes bastante dinero
pause
cls
:Visualizar
)
)
)
)