小学生・中学生向けのICT教室/
イフキッズプログラミング日暮里

03-6806-6861
(平日10:00~18:30)

小学生・中学生向けのICT教室/
イフキッズプログラミング日暮里

03-6806-6861
(平日10:00~18:30)TOPへ戻る
メニュー
最近のブログ一覧




最近の生徒様の声


お知らせ一覧




タグ

【日】毎回答えが変わる問題を作りたい!

2022/09.27

こんにちは!
キッズプログラミング教室「イフキッズアカデミー」
えりちゃん先生です!


※クラス分け
【火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

今回は日曜のレッスンを報告します!

生徒はHくん(中3)、Hちゃん(中1)、Oくん(中1)でした。
それではレポートスタートです!

まずはアドバンスコースのHくん。
前回に引き続き、射撃ゲーム2を作っていきます。

H「自分のライフを減らして、0になったらゲームオーバーにするっていうのをやりたいんですけど…うまくいかないです。」
え「どこがうまくいってなかった?」
H「敵に撃たれた時の処理がちゃんとできてるか確認するコードを書いたらそれは表示されるんですけど、ライフが減ってない感じがします。」
え「なるほど。」

Hくんは確認のために、開発者が確認できる画面で『敵の弾に当たった!』と表示するコードを書いてくれていました。
実行してみると、確かに敵の弾に当たったときにその文言は表示されるのですが、ライフの合計値である4回以上敵にあたってもゲームオーバーにできません。

H「そもそもこれ敵の動きを書いたコードなのに自機のライフを判定するのおかしいのかな。」
え「なるほど、確かに自機のライフの話ならここじゃない方が良いね。ライフは自機の方にも設定しているんだよね?」
H「はい。」
え「じゃあ自機の方で設定したライフを敵の方で使えるようにしてみようか。」

ということで、違う場所に書いたコードを使う方法を調べて実践してみます。↓

このコードを書いたことで、自機の動きの方に書いたライフを、敵の動きで使うことができるようになりました。
ちゃんとライフが取得できているか確認するために開発者用の画面に表示させてみると…ちゃんと初期値4が表示されています。↓

後は最初に考えていたコードを修正して、敵の弾に当たったらライフを減らし、もしライフが0になったらゲームオーバーにする、という処理を追加しました。

最後にライフの文字をゲーム画面に表示して…完成です!↓

完成したところで今日はタイムアップ。
Unityのすべての課題が終了しました!
Hくんはしっかりプログラミングの考えが身についているだけではなく、うまくいかない部分は開発者画面に表示して確認したり、別のコードを試したりと解決能力もグンっと上がりましたね。
次回からは修了試験で『自由にゲームを1個作る』という課題を進めてもらいます。
まずはどんなゲームにするのか決めるところから頑張っていきましょう!

続いてはロジカルコースのHちゃん。
前回に引き続き、修了試験を進めていきます。

H「カードを消す処理がうまくいかなくなってしまいました。」
え「どれどれ…ほんとだ、下にあるカードだけ消えちゃってるね。前はできてたんだけど…。」
H「はい、でもなんでできなくなったのかわからなくて…。」
え「うーん、そうだね…。」

先生も一緒にブロックを見てみますが、なかなか原因が見つかりません。

え「そういえば、”もし赤色か黒色に触れたら”っていうブロックを使ってくれているけど、この色ってどうやって決めたんだっけ?」
H「うーん…?普通に色を選んだような?」
え「もしかしたらトランプの色とあってなくて上手くいかないとかあるかも。」
H「見てみます。」

確認してみると、トランプの色ともしブロックで指定した色が若干違っていました。
画像ごとに色が違うと大変なので、トランプの画像に合うように赤と黒の点を描きこみ、その色に触れたらというブロックになるよう修正します。

クローバーの2は黒色のカードなので、赤に触れたら消すというブロックの赤の色を修正

すべてのトランプに点を追加し、もしブロックの色の指定も修正して実行してみると…今度は上のカードだけが消えました。

H「あれ…?」
え「うーん、確かに…。今上のカードだけ消えたのは、動いていたブロックは上のカードのブロックだからだと思うんだよね。」
H「はい。」
え「で、上のカードのブロックは下にあった黒の点に触れたから消えることができたんだけど…下のカードって赤の点には触れてないじゃない?」
H「はい。」
え「だから消えないんだと思うんだよね。ちょっとそこは別の方法を探さないとかな…。」

その方法を考えているところで今日はタイムアップ。
他の部分に合わせて修正をしていると今までうまくいっていた部分がうまくいかなくなってしまうことはよくあります。
次回はうまくカードを消せるように解決して完成を目指していきましょう!

続いては同じくロジカルコースのOくん。
リストの使い方問題を進めていきます。

リストを使ってクイズゲームを作っていきます。
まずは、リストに10個問題を追加するところから始めます。
いろいろ考えて10個の問題を作ってくれました!結構難問です…!

問題が用意できたので、答えも用意していきます。
答えも同様にリストに追加していきます。ポイントは問題1の答えはリストの1番目に追加すること。
順調に追加していきますが、10個目で問題が。

O「10個目の問題は、解答が旗を押すたびに変わるんだよね。」
え「そうなの??…あ、ほんとだ。コウモリの数を答えさせるけど、コウモリは毎回登場数がランダムなんだね。」
O「うん。これってどうしたらいいのかな?」
え「そうね、変数を使うといいかな。コウモリの数は変数に保存してる?」
O「うん。”変数”て名前のやつに保存してるよ。」
え「そしたら、その数が答えになるよね。で、リストのブロックに”リストの何番目を○○に置き換える”っていうのがあるんだよね。」
O「そっか、変数で置き換えるようにすれば毎回リストに追加される答えも変わるんだ!」

やり方を理解したOくん。早速答えが入っているリストの10個目をコウモリの数にするブロックを作りました。↓

さらに問題をランダムで出し、その数を別の変数に保存することで答え合わせができるようにブロックを作ることができました!↓

ここまでできたところで今日はタイムアップ。
リストはちょっと難しいですが、ばっちり使い方を理解できていますね!
毎回解答を変えるアレンジを加えてくれたことで、よりリストの使い方の理解が深まったんじゃないでしょうか?
次回は今回用意してくれたブロックを組み合わせて、ゲームを完成させていきましょう!

以上で今回のレポートは終了です!
次回のレポートもお楽しみに!

無料体験授業実施中!
毎週火曜日 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@お友だち募集中!
新着授業レポートの通知、無料説明会やイベントの案内など、
耳よりな情報を配信中です。
加えて、お友だち登録されている方には、
イベント参加費の割引、
入会の際の割引、プレゼントなどの特典も!


友だち追加
   お問い合わせボタン|プログラミングスクール・習い事のイフキッズプログラミング(IF Kids Programming) お問い合わせボタン|プログラミングスクール・習い事のイフキッズプログラミング(IF Kids Programming)