アニメ『ナナマルサンバツ』
クイズにハマりそうです。
今回はWindowsプロンプトで実行できるchoiceコマンドを使ってみます。
choiceコマンドは、ユーザに選択式入力をさせる便利なコマンドです。
デフォルトではY(y)またはN(n)が入力できます。メッセージを表示するには、/Mオプションを使います。
C:\Users\takk\Desktop>choice /M "Yと押せば1が返り、Nを押せば2が返ります" Yと押せば1が返り、Nを押せば2が返ります [Y,N]?Y C:\Users\takk\Desktop>echo %ERRORLEVEL% 1 C:\Users\takk\Desktop>choice /M "Yと押せば1が返り、Nを押せば2が返ります" Yと押せば1が返り、Nを押せば2が返ります [Y,N]?N C:\Users\takk\Desktop>echo %ERRORLEVEL% 2 C:\Users\takk\Desktop>
子供の頃、初めてのプログラミングは、BASICでしたが、簡単なアドベンチャーゲームを作って遊んでいました。コマンドプロンプトでchoiceを使って再現すると、こんなゲームだった気がします。
adventure.bat
:LABEL_01 @choice /M "道が左右に分かれています。右に進みますか?" @if %ERRORLEVEL% EQU 1 @goto LABEL_03 :LABEL_02 @choice /M "行き止まりでした。引き返しますか?" @if %ERRORLEVEL% EQU 1 @goto LABEL_01 :LABEL_03 @choice /M "怪獣が現れました。逃げますか?" @if %ERRORLEVEL% EQU 1 @goto LABEL_02 @echo "倒されました。GAME OVER"
上のバッチファイルを実行すると、アドベンチャーゲームが始まります。
C:\Users\takk\Desktop>adventure 道が左右に分かれています。右に進みますか? [Y,N]?N 行き止まりでした。引き返しますか? [Y,N]?Y 道が左右に分かれています。右に進みますか? [Y,N]?Y 怪獣が現れました。逃げますか? [Y,N]?Y 行き止まりでした。引き返しますか? [Y,N]?N 怪獣が現れました。逃げますか? [Y,N]?N "倒されました。GAME OVER" C:\Users\takk\Desktop>
YとNを入力するのに、Enterキーが不要なところが良いです。
コメント