2014-10-22 3 views
0

Я создавал простую случайную выборку чисел в пакетном режиме, но у меня есть ошибка в коде и не знаю, что это, пожалуйста, помогите. Вот код:Batch Error In Number Guesser

@echo off 
title Number Guesser 
:menu 
echo ------------------ 
echo Number Guesser 
echo ------------------ 
echo 1. Easy 
echo 2. Medium 
echo 3. Hard 
echo 4. Exit 
set /p dif=Select difficulty number: 
if %dif% == 1 goto easygen 
if %dif% == 2 goto medgen 
if %dif% == 3 goto hardgen 
if %dif% == 4 exit 
goto menu 


:easygen 
set /a num=%random% 
if %num% gtr 20 goto gen 
cls 
goto play 

:medgen 
set /a num=%random% 
if %num% gtr 50 goto gen 
cls 
goto play 

:hardgen 
set /a num=%random% 
if %num% gtr 100 goto gen 
cls 
goto play 


:play 
set /p guess=Guess: 
if %guess% == %num% goto win 
if %guess% gtr %num% echo Lower! 
if %guess% lss %num% echo Higher! 

:win 
cls 
echo Well Done 
echo 1. Play again! 
echo 2. Quit 
set /p cmd=What do you want to do: 
if %cmd% == 1 goto menu 
if %cmd% == 2 exit 

Я получаю сообщение об ошибке, когда выбираю трудность (diff). Я понятия не имею, что не работает. Он просто закрывается.

+1

где ваша подпись ': gen'? – Stephan

ответ

0

Если вы откроете cmd, перейдите к файлу и запустите его, вместо того, чтобы дважды щелкнуть командный файл, вы увидите сообщение об ошибке.

The system cannot find the batch label specified - gen 

Подобно другим комментатора сказал, вы не :gen определены. Он говорит goto gen, но gen не существует, поэтому он волнуется и закрывается.