こんにちは!
キッズプログラミング教室「イフキッズアカデミー」
のり先生です!
※クラス分け
【火1】・・・火曜日16:00〜17:30
【火2】・・・火曜日17:40〜19:10
【木1】・・・木曜日16:00〜17:30
【木2】・・・木曜日17:40〜19:10
【土】・・・土曜日10:00〜11:30
【日】・・・日曜日10:00〜11:30
今回は土曜のレッスンを報告します!
生徒はOくん(中1)です。
レポートスタートです。
それではOくんの報告です。
リストを使ったクイズゲームを作成中です。
ゲーム用に作った問題はそろったので、実際にブロックを組み立てていきます。
まず10問のクイズのうち一つを出題し、入力された答えと用意していた答えがあっていたら「あたり」間違っていたら「はずれ」と表示させます。
O「できました!」
実際に動かしてみると、ランダムに出た問題に対応した答えが設定され、当たりかはずれかでキャラクターのセリフが分岐できていました。
続いて、クイズゲームをを5回繰り返す処理です。また、1回出た問題は次回以降表示させないようにします。
O「繰り返すのは『〇回繰り返す』のブロックを使うと思うけど、同じ問題を出題させないようにするにはどうしようかな…。」
Oくんがまず考えたのは問題の1つずつに0が入った変数を設定し、出題されたら変数を1に変更する方法です。出題時に各問題の変数を確認し、その変数が「0=まだ出題されていない」「1=すでに出題されている」という風に考え、出題するかしないかを決めるというものです。
ですが、途中で「これって効率悪いですか?」と疑問が。
Oくんはクイズ10問それぞれに変数を付けるつもりだったので、出題のたびにその変数を見に行くのは確かに少し手間かもしれませんね。
の「いちおうテキストにはリストの要素を削除するブロックがあるって書いてるよ。問題リストの中から出題するプログラムなら、そのリストから一度出した問題を削除しちゃうって方法が簡単かも。」
O「そしたら、ゲームを始めるときに一回全部の問題を入れなきゃいけないんじゃない?」
の「そうだね。一番最初に初期化の処理として、問題リストの中を全部削除して入れ直す必要があるかな。」
ということで、「メッセージ」ブロックを使って「初期化」処理をつくることになりました。
途中リストの中身が消えてしまったり、出題されているはずなのにキャラクターのセリフが出てこなかったりと不具合が発生。ですが、ブロックを並べ替えたり足したりして初期化処理が完成しました!
また、出題するときは「1~10問のうち1問」ではなく「1~『リストの長さ』問のうち1問」から出題することにしました。こうすることで、現在リストに入ってるものから一つ出題することができます。
今日はちょっと始まる時間が遅かったのですが、短い時間でできる範囲を十分に取り組んでくれました!
次回も引き続きクイズゲームです。
次回のレポートもお楽しみに!
無料体験授業実施中!
毎週火曜日 16:00~17:30、17:40~19:10
毎週木曜日 16:00~17:30、17:40~19:10
毎週土曜日 10:00~11:30、11:40~13:10
※日曜日も臨時で実施していることがあります
お気軽にお問い合わせください
お申し込み・お問い合わせは、こちら。
お電話でも受け付けております。
03-6806-6861
(平日10:00~18:00)
イフキッズLINE@お友だち募集中!
新着授業レポートの通知、無料説明会やイベントの案内など、
耳よりな情報を配信中です。
加えて、お友だち登録されている方には、
イベント参加費の割引、
入会の際の割引、プレゼントなどの特典も!