Командный файл, который обнаруживает нажатия клавиш. как?

Я проектирую коллекцию видеоигр для командной строки (например, сделка или не сделка, крестики-нолики, гонки, лабиринт, соединяй четверых, бей крота и т. д.), однако, если бы я мог, мне было бы легче. сделайте так, чтобы, когда пользователь делает выбор (например, какое направление двигаться в игре), чтобы, как только он нажимал клавиши со стрелками, он выполнял следующие операторы IF. Вместо того, чтобы нажимать ввод после каждого выбора. что-то вроде...

:one1
set /p direction1= :
IF %direction1%== {ARROW KEY LEFT} goto two2
IF %direction1%== {ARROW KEY RIGHT} goto three3
IF %direction1%== {ARROW KEY UP} goto four4
IF %direction1%== {ARROW KEY DOWN} goto five5
goto one1

Есть идеи?

3 ответа

Решение
:start

choice /c:HPKM /n "Move with arrow keys"

if "%errorlevel%"=="1" {COMMAND}

if "%errorlevel%"=="2" {COMMAND}

if "%errorlevel%"=="3" {COMMAND}

if "%errorlevel%"=="4" {COMMAND}

Это зависит от вашей версии Windows.

Если вы используете Vista, вы можете использовать выбор, чтобы получать отдельные клавиши напрямую, но в чистом пакетном режиме не представляется возможным обнаружить клавиши со стрелками.

РЕДАКТИРОВАТЬ

:one1
choice /c awsd /n /m "MOVE with A S D w"
IF %errorlevel%==1 goto two2
IF %errorlevel%==2 goto three3
IF %errorlevel%==3 goto four4
IF %errorlevel%==4 goto five5
goto one1

http://winsupport.org/packages/choice.exe

Это пользовательский выбор, который позволяет использовать клавиши со стрелками.

они используются следующим образом: choice /c:HPKM /n "Перемещаться с помощью клавиш со стрелками"

Единственная проблема в том, что вы также можете использовать H, P, K и M...

Другие вопросы по тегам