早速ですが、質問させて頂きます。
私のクイズゲームでは、数あるクイズの中からランダムに出題する形式を取っているのですが、
それに加えて、「一度正解したクイズを2度と出さないようにする」というルールを設けようと思っています。
それを実現するために、次のようなスクリプトを書きました。
*definition rightq_0=0 rightq_1=0 ;(中略) rightq_99=0 rightquiz=0 *quizselectpart randomize quizselect=rnd(100) if quizselect=0 : goto *q_0 if quizselect=1 : goto *q_1 ;(中略) if quizselect=99 : goto *q_99 *q_0 if rightq_0=1 : goto *quizselectpart nowquiz=0 wait 250 mes "日本で一番高い山は?" wait 100 button goto "富士山",*atari button goto "阿蘇山",*hazure button goto "叔父山",*hazure stop *q_1 if rightq_1=1 : goto *quizselectpart nowquiz=1 wait 250 mes "日本で一番長い川は?" wait 100 button goto "信濃川",*atari button goto "長良川",*hazure button goto "小川",*hazure stop ;(中略) *q_99 ;同上 *atari mes "正解!" wait 200 rightquiz=rightquiz+1 ;正解数カウント if rightquiz=100 : goto definition ;万一全て正解してしまった場合は初期化する if nowquiz=0 : rightq_0=1 if nowquiz=1 : rightq_1=1 ;(中略) if nowquiz=99 : rightq_99=1 goto *quizselectpart *hazure mes "残念、間違い!" wait 200 goto *quizselectpart
しかしこのスクリプトですと、どうしても長くなりすぎてしまいます。
(実際には1000問くらいを出題する予定ですので…)
*quizselectpartは仕方ないと思うのですが、*atariなどはもう少し短くできないかと思っています。
けれども短くするアイデアが思いつかず、色々検索しても分からなかったため、こうして質問させて頂きました。
もしよろしければどなたか、もっと短いスクリプトで同じ事を実現できるアイデアを、提供して頂けないでしょうか。
それでは、よろしくお願い致します。