キーを押すとプログラムが終了する」、と画面表示で説明する部分です。キーを押すとプログラムが強制終了するので、これを利用しています。完全に上書きできません。頭にスペースを1個入れるのと同じ理由です。<AC>:QUIT"(今回追加した部分を赤文字で示した)プログラム構造は、以下のようになります。ブロックを追加しました。追加して、ゲーム仕様を実装できました。プログラム全体を、処理内容別のブロックを単純に並べた構造にしています。1つのブロック内で、分岐処理やループを使ってまとまった処理を行います。次のブロックへ移ります。プログラムをこのような構造にしておくと、機能追加や変更を、プログラムのどの部分でやれば良いかが分かりやすく、楽になることを、これまで体験してもらっています。これまでの機能追加や変更について、ちょっと振り返ってみます。[アニメーション表示]ブロックでは、フライングを検出しています。フライング検出後すぐに表示を行わずに、例外フラグを設定するだけにして、次のブロックへ処理を移しています。表示すれば楽なのに、回りくどいと思われたかも知れません。ブロックにまとめることで、他のブロックを殆ど変更せずに機能追加ができました。これがブロック構造の利点です。ループが軽く、速く回る必要があります。これが遅くなると、ゲームのレスポンスが遅くなり、つまらなくなる恐れがあります。これらのループの中には余計な処理を入れたくないわけです。従って、余計な処理は別のブロックに入れた方が良い、と言う事情もあります。[反応時間測定&表示]ブロックでは、タイムアウトを検出しています。ここでも例外フラグを設定するだけで、次のブロックへ処理を移しています。フライングフラグが設定されている時にも、直ちに次のブロックへ移動しています。このように、まとまった処理ごとのブロックを作って、これらのブロックが上から下へ連なる構造を意図的に作る方法を、構造化プログラミングと言います。興味のある方は読んでみて下さい。引数や戻り値のある関数を自由に作れず、局所変数(ローカル変数)が使えないからです。サブルーチンや大域変数を工夫して使いながら、ブロックが上から下へ連なるプログラム構造を作れます。Gotoであっちこっちにジャンプする構造ではなく、機能別に作った処理ブロックを上から下へ流れるようにコーディングし、必要な時は一箇所へジャンプし、用事が済めば元に戻るような流れを作ることこそが、重要です。構造化プログラミング風コーディング可能な言語と言えます。簡単なプログラム、特にプログラム関数電卓での簡単なプログラムは、ブロックを意識する必要の無いことも多いのでですが、ちょっと機能追加をしようと思うと、とたんにプログラムが複雑になってしまいます。多用することが最大の原因です。このゲームで実際に遊んでみると、確実に試行回数が減ってゲーム終了....なんだか面白くありません。そこで、次回はゲームがチョットだけ面白くなる機能を追加しようと思います。応援クリックをお願いします。フライング対策をしたゲームの基本部分ができました。5)の一部は実現できました。残る部分を作るには、これまで作った部分を繰り返すようにプログラムの変更が必要だとわかります。その上で、試行回数、得点を表示し、試行回数0でゲームが終わるようにすれば完成です。ループを使うことにします。Mこれは、無限ループです。なったときにループを終了すれはOKです。減らすようにしてゆきます。使うと、うまくループを終了できます。飛ばして、次へジャンプするので、ループが終了します。トライ回数を減らす条件については、後で作ることにし、今は無限ループにしておきます。それでは、無限ループを組み込みます。Mこれを走らせてみてください。プログラムが全く止まりません。忙しすぎて、メリハリが無くて、ゲームとしては問題です。そこで、アニメーションを開始するところで、一旦プログラムを止めます。止まると同時に操作方法を表示させることにします。コマンドを追加します。初期化処理部分は、今のところ0→Eだけで、ここに以下のように追加します。一時停止の機能が付加されおり、それを利用するわけです。表示され、プログラムが一時停止します。それ以外のキーでは停止解除しません。キーを押せば、結果が出るかフライングになって、また最初の表示に戻ってプログラムが一時停止します。表示を切り替えることにします。前に、スペースが1つ入っていることに注意してください。きれいに上書きするためには、このスペースが必要です。スペ-スを入れることで、どちらの表示も11桁になるように揃えました。一つ、必要な表示処理があります。次の試行の前に、これを一旦消さないと、アニメ-ション表示と重なって表示されてしまいます。そこで、一旦2行目を端から端まで消去します。2行目の1桁めから16桁めまで、スペースで上書きすればOKですね。以上から、初期化部分は、以下のようになります。"これで、連続して何回もゲームを続けられるようになりました。2-6複数条件分岐の記法ゲームを何回もトライして、その点数を付ける機能を、追加します。点数の付け方を次のようにしでみます。するゲーム進行上は以下のようになります。・制限時間を超えるとタイムアウト。L-C・フライングの時は、減点L-C。フライングが速いほど減点が多くなる。P-L→P※今は、Lを20とします。ゲーム進光状況に応じて変化させると、ゲームが面白くなるかもしれません。使って、プログラムを作ります。初期値は20としておきます。(1ブロック)に0→P:20→Lを追加します。今回、タイムアウトと言う要素を追加します。(3ブロック)での例外事象として扱います。