2010-12-02 7 views
4

メーリングリスト用のビデオゲームのコレクションを設計しています(取引や無関係、チックタック、トーキング、レース、迷路パズル、4つのつながり、1つのモックなど)。しかし、私は、ユーザーが(ゲーム内でどの方向に動かすかなどの)選択をすると、矢印キーを押すとすぐにそれに続く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 

すべてのアイデア?

+0

WTF FPとは何か?それはサブルーチンをほとんど持っていません。また、そのような言語で複雑なプログラムを作成することは望ましくありません。たとえば、次のような言語で記述します。ループ。 – delnan

+1

FPは正確に何を意味しますか?理由はバッチファイルを使用していたので、私はIDを試してみたと思っています:P – daniel11

+0

FPはこれをタグ付けした関数型プログラミングを意味します。デルナンが正しいのでタグを削除しました。この質問は関数型プログラミングとは関係ありません。 – sepp2k

答えて

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} 
+4

これはどのように矢印キーで動作するでしょうか? 'HPKM'で動作します – jeb

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

hmmm、iveはそれをする人がいるのを見ましたが、エラーを出さずに私のスクリプトを使用する方法を理解できませんでした。 – daniel11

+0

これは完璧に感謝します! – daniel11

0

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

彼らはそうのように使用されます:選択/ C: "矢印キーで移動する" HPKM/N

あなたもH、P、KとMを使用できることが唯一の問題...

+0

リンクが死んでいます – Gary

関連する問題