プログラムの流れ
乱数を使って100~2000までの周波数でBEEP音を鳴らします。
プレイヤーはそのBEEP音の高さを予想して解答します。
3回以内に周波数を当てることが出来ればプレイヤーの勝利です。
ピッタリの周波数を当てるのはとても難しいので、正解の周波数±100までの数値を入力できれば正解とします。
完成したプログラム
※Qumcum(HOME3.0 BASIC)での作成
それぞれの定義プログラム詳細
それぞれの定義プログラムの説明
【ルール説明】
ゲームのルールをクムクムロボットに説明してもらいます。
「今から鳴る音の周波数を答えてね。 三回まで答えられます。」
【出題】
問題を出すプログラムです。
変数の回答数を0に初期化し、周波数は乱数を使って決定します。
今回は乱数の範囲を100~2000に設定しています。
乱数で決められた数値のBEEP音と1秒間鳴らします。
【不正解の時】
答えた周波数が不正解だった時のプログラムです。
BEEP音とクムクムロボットが音と声で不正解を伝えます。
変数の回答数を1つ増やします。
【正解の時】
答えたプログラムが正解だった時のプログラムです。
BEEP音とクムクムロボットが音と声で正解を伝えます。
正解を伝えた後にすべてのプログラムを止める命令をします。
これは、回答数=3回まで繰り返すように条件を指定しているので、3回未満の時に正解した場合
でもまた解答を求めるプログラムが実行されてしまいます。
その為、正解した場合はプログラムを止める命令を入れています。
プログラムのポイント
正解の周波数の±100の数値を入力すれば正解とするという部分が今回のポイントです。
条件の指定方法は、「入力した数値が周波数-100以上 かつ 入力した数値が周波数+100以下」という条件で指定します。
この条件をscratchで表したものがこちらです。
この条件をもっと狭くすれば問題の難易度は高くなり、広くすれば難易度を下げることが出来ます。
最初は条件を広く指定して、徐々に狭くして力試しをするのもいいですね。
プログラムの拡張
今回のプログラムでは正解と不正解のアクションを最小限にしていますが、この部分に色々なパターンを追加すればもっと面白いクイズプログラムになります。
解答1回目は「あと3回答えられます」2回目は「あと2回答えられます」というように喋らせる。
答えた周波数と正解の周波数の誤差の値によって反応を変える。
などなど他にも追加すれば面白くなると思ったことをどんどん追加してみてください。
コメント