2010-12-02 15 views
4

我设计了一系列视频游戏(比如交易或不交易,井字游戏,赛车,迷宫拼图,连接四,怪胎等等),但是如果我真的让事情变得更简单,我可以这样做,当用户做出选择时(比如在游戏中移动的方向),只要他们按下箭头键,它就会执行随后的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 

任何想法?

+0

WTF与FP有一批?它几乎没有子程序。另外,你不想用这样的语言编写复杂的程序 - 用一种具有例如循环。 – delnan 2010-12-03 14:57:03

+1

FP意味着什么?我之所以使用批处理的原因是因为很多人都没有尝试在批处理文件中创建原始gui,因此我认为它是试用版本:P – daniel11 2010-12-03 18:46:27

+0

FP表示函数编程,您将其标记为。我删除了标签,因为delnan是正确的:这个问题与函数式编程无关。 – sepp2k 2010-12-03 20:51:30

回答

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} 
5

这取决于你的Windows版本。

如果您使用Vista,您可以使用选项直接接收单个密钥,但对于纯批量,似乎无法检测到箭头键。

EDIT

: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 
0

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

即自定义的选择,其允许使用箭头键。

使用它们像这样:选择/ C:HPKM/N “箭头键移动”

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