RPNでゲームを作ろう(11)

前回(2月14日)の続きです。

前回までに作ったプログラムでも、数値を入力して遊ぶことは可能です。しかし、プレイヤーが数を当てられなかった場合の表示が「FALSE」だけなのは、なんとも取り付く島がない感じでした。そこで、今回は、FALSEの場合に、もう一度比較と分岐を行って、プレイヤーの回答が正解に比べて大きすぎるのか、小さすぎるのかを表示するように、プログラムを改造してみようと思います。

前回のプログラムで、FALSEと表示する部分(ラベルC)を改造して、そこで、もう一度比較を行い、乱数と回答の大小関係に応じて、「TOO-LARGE」または「TOO-SMALL」と表示し、いずれの場合もプレイヤー入力の部分まで戻るようにします。プログラムのラベルBの部分は前回と変更しません。

C001 LBL C ← 以下で、大きすぎるか、小さすぎるかを判定する
C002 x>y? ← プレイヤーの回答は大きすぎるか?
C003 GTO D ← 大きすぎるなら、ラベルDへ、そうでなければ次の行へ
C004 SF 10
C005 TOO-SMALL ← 小さすぎる場合の表示
C006 CF 10
C007 GTO B007 ← プレイヤーの入力(の前のスタックのクリア)に戻る
D001 LBL D
D002 SF 10
D003 TOO-LARGE ← 大きすぎる場合の表示
D004 CF 10
D005 GTO B007 ← プレイヤーの入力(の前のスタックのクリア)に戻る

このようにすれば、単に「FALSE」ではなく、大きすぎるのか、小さすぎるのか、情報を提示してくれるようになります。

今回はここまでにします。