批处理文件,用于检测击键。怎么样?

时间:2010-12-02 21:34:03

标签: batch-file keyboard video-game-consoles

我为命令行设计了一系列视频游戏(例如交易或没有交易,tic tac toe,赛车,迷宫拼图,连接四个,玩鼹鼠等等)然而这对我来说真的会让事情变得更轻松如果我可以这样做,以便当用户做出选择(例如在游戏中移动的方向)时,只要他们按下箭头键,它就会执行随后的IF语句。而不是必须在每次选择后按Enter键。类似......

: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 个答案:

答案 0 :(得分:5)

这取决于您的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

答案 1 :(得分: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}

答案 2 :(得分:0)

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

这是一个允许使用箭头键的自定义选项。

它们的用法如下:choice / c:HPKM / n“用箭头键移动”

唯一的问题是你还可以使用H,P,K和M ......