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