2016-02-16 2 views
0

привет, я делаю базовую приключенческую игру на основе текста в пакете окон, у меня нет пробелов в пользовательском вводе.Ввод пользователя с пробелами (в пакетном режиме)

мой код:

:quest1 
cls 
echo MUM: %PlayerName%, your breakfast is ready!!! 
set /p PlayerInput1=">" 

if %PlayerInput1%=="look around" echo you are in your bedroom upstairs in your house, in %PlayerHome% 

с PlayerInput1 я хочу пользователю вводить осмотреться, но когда я пытаюсь запустить его он сказал: вокруг == «осмотреться» было неожиданным в это время

, как это исправить

+1

Нечетное, что вы бы поставили кавычки вокруг одной стороны сравнения строк, чтобы защитить пространства, но не другие. – Squashman

ответ

1
:quest1 
cls 
echo MUM: %PlayerName%, your breakfast is ready!!! 
set /p PlayerInput1=">" 

if "%PlayerInput1%" =="look around" (echo "you are in your bedroom upstairs in your house, in" "%PlayerHome%") 

Вы забыли кавычки, если «% PlayerInput1%», а эхо не должно быть между(), но является хорошей практикой. * Спасибо @Dennisvagils *

+2

Скобки, хотя и хорошая практика, не нужны в одной строке. –

+0

Спасибо @DennisvanGils за подсказку –

+1

Нет проблем. Кстати, было бы лучше обновить ваш ответ от того, что «эхо должно быть», чтобы «было лучше», –

1

Put строку между variavle тоже:

set /p "PlayerInput1=^> " 

if "%PlayerInput1%"=="look around" echo you are in your bedroom upstairs in your house, in %PlayerHome% 
Смежные вопросы