例外フラグEが1の時はフライング、2の時はタイムアウトと言うわけです。例外でない場合は例外フラグEは0です。P+L-C→Pの計算を追加します。表示内容は、以下の場合分けになります。なし総得点の表示は、例外フラグEの値に関わらず、共通の処理で実装可能です。3,1,P総得点は増減するものなので、少ない桁数で更新されることもあります。その時は、既に何度も行っているように、あらかじめ消去(スペースで上書き)した上に、総得点を上書きする必要があります。1つの条件に対して、それが成り立つかそうでないか、つまり真か偽かによって処理を振り分けます。二者択一の処理をします。3通りの値になります。文を入れる多重構造(入れ子構造)が必要になります。Ifといった、複数の条件による分岐処理が可能です。Selectといった、複数分岐処理も可能です。4:[処理4];::default:[処理0];}といった処理が可能です。可能なステートメントが備わっています。Basicには、このような複数条件分岐処理のステートメントが用意されておらず不便に感じます。次のような記述方法を使えば、簡単に複数条件分岐処理を実現できます。並べて書くことで、プログラムの読みやすさ(可読性)を損なわずに複数条件分岐ができます。同じ数だけ記述する点に留意してください。数よりも少なくても正常動作する可能性はありますが、運が良いだけです。制御構造が複雑になると必ず誤動作するので、原則通りにIfEndを記述すべきです。「例外フラグE」を使えば良いわけです。ブロックのプログラム話を元に戻して、[例外処理]ブロックのプログラムは、以下のようになります。3,1,Pここまでをまとめると、以下のプログラムになります。Mフライングとタイムアウトの例外処理を作り、総合得点の表示までできました。プログラムを走らせてみると、なんとかゲームの形ができあがってきたことが分かります。次回では、引き続きゲームオーバーの処理を作り込んでゆきます。応援クリックをお願いします。互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。キーと同様に、実行中のプログラムを強制終了させる。サブルーチンでStopコマンドを実行すると、呼出元のメインルーチンの実行を強制終了させる。Returnコマンドは、サブルーチンで実行すると実行されたサブルーチンのみを強制終了させ、メインルーチンは終了させない。応援クリックをお願いします。件の続報:問題を単純化すると、こうなります。エラーが発生しません。ループにあることが確認されます。0WhileEndこの場合は、エラーは発生せず、正常動作します。ジャンプする時にエラーが発生するようです。Doループを使うと、以下になります。ジャンプするようです。ループの相手を見つける検索に問題が発生してるようです。具体的には、以下を実行してはっきりました。1これを実行すると、動作異常の状況がはっきりします。変えて以下を実行すると、正常動作します。命令を使うと正常動作しないことが分かりました。問題のプログラム2つを書いてみます。これらは、特に問題を感じないプログラムです。1これは、エラーとして検出されませんが、外側のDoループが異常動作します。その結果、Cをマイナスの値でどんどん減らしながら、内側のDoループが回り続けることになります。これら2つの問題プログラムは、皆さんのfx-5800Pでも同じように異常になりますでしょうか?是非お聞かせください。ループを使ってはならない」と言う予防策を講じる必要があります。私のfx-5800Pだけでの問題でないことが分かれば、カシオに相談したいと思いますので、ご協力をお願い致します。応援クリックをお願いします。裏e-Gadget思い込みとは怖いものだ。If文にまつわる話です。可読性が悪くなって使えないものとばかり思っていたのですが、思い込みだと言うことが分かりました。使えば、以下のように可読性を犠牲にせず、スッキリと書けます。最後にまとめて書きます。使って同じ構文を作って使っていました。使うのは出来れば避けたいところですが、正しく使えば役に立つ事例として、私は考えていました。検討しようと思います。用法・用量を守って正しく使えば良い、と私の主張をし、その効用の1例として、上の複数条件分岐を例として挙げたのです。それを、キチンと訂正したいと思ったので、別エントリーに書くことにしました。藤堂様、失礼しました。