Пакетный файл завершается, когда уровень ошибки сравнивается с символом - PullRequest
0 голосов
/ 05 июня 2018

Я решил сделать действительно простую игру с пакетными файлами, но когда дело доходит до IF s, где я пытаюсь сравнить 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
                )
            )
    )
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...