Смотрите полный код здесь: http://pastebin.com/nu7u5XTCПАРТИЯ - Синтаксис команды имеет Некорректное
Я использую команду «выбор» для чтения ключа пользователя, так что программа знает, что делать.
@ECHO OFF
setlocal EnableExtensions EnableDelayedExpansion
goto initialise
:initialise
cls
set /a x=6
set /a y=10
set /a oldx=%x%
set /a oldy=%y%
REM Place all of the grass blocks...
rem PaintScreen 2
:choicelistener
set /a oldx=%x%
set /a oldy=%y%
choice /c wasdWASDpqezxm /CS >NUL
if %ERRORLEVEL%==1 goto moveNorth
if %ERRORLEVEL%==2 (
REM Go west.
if %facing.x%.%facing.y%.occupied==true (
REM There is a block there.
goto choicelistener
) ELSE (
REM There was no block there.
set /a x=%x%-1
set prevmove=a
rem ChangeColor 2 0
goto checker
)
if %ERRORLEVEL% 3 (
REM Go south.
if %facing.x%.%facing.y%.occupied==true (
REM There is a block there.
goto choicelistener
) ELSE (
REM There was no block there.
set /a y=%y%+1
set prevmove=s
rem ChangeColor 2 0
goto checker
)
Это часть кода, который ломается. Я получаю ошибку «Синтаксис команды неверен».
Я исследовал это в течение двух часов, у других людей есть эта проблема, но ни одно из их решений не помогло мне. Какие-либо предложения? Благодарю.
Введите 'choice /?' В командной строке и нажмите Enter. –
Код, который вы опубликовали, не вызывает ошибок. Вы слишком упростили его. Кроме того, если вы действительно поставили код для проверки ввода пользователя в самом низу, он никогда не будет работать, так как '% errorlevel%' основан на последнем запуске команды, в этом случае 'set/a oldy =% y% ', который всегда будет устанавливать'% errorlevel% 'в 0. – SomethingDark
Команда, которую вы используете **, не соответствует **, что показывает помощь. Прочтите еще раз. –