こんにちは!
キッズプログラミング教室「イフキッズアカデミー」
池ちゃん先生です!
※クラス分け
【火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
今回は火曜後半のレッスンを報告します!
※ 2本立てです。
本日の先生はささい先生とのり先生。
来てくれた生徒さんは、Mちゃん(小4)、Gくん(小5)、Kちゃん(小3)、
Sくん(中1)、Jくん(中1)でした。
それでは1本目、ささい先生よろしくお願いいたします。
こんにちは、ささい先生です。
本日担当した生徒さんは、Mちゃん(小4)、Gくん(小5)、Kちゃん(小3)でした。
それでは始めていきます。
まずはMちゃんから。
クリエイティブコースのMちゃん、本日はプログラミングカーとタブレットの問題に挑戦してくれました。
プログラミングカーでは、現在メインテーマとなっているループの問題に挑戦し、新たに1問クリア!
ループ(繰り返し)の問題では、動くカードの枚数が限定されています。そのため、”同じ動き”を見つけ出すことがクリアのカギ。
この題に対しMちゃんは、いったんカードの枚数を気にせず、”最短ルートはどんな動きか?”という部分に着目しルートを導き出していきます。
M「こんな感じかなぁ。」
さ「お、いいんじゃないかな?そしたら、今並べた紙のカードをよく見てみよう。同じような動きしているルートはないかな?」
Mちゃんは出来上がったルートから、”同じ動きはどの部分か?”を集中して導き出します。
M「んー、ここからここ?」
さ「うんうん、ではここかな?と思った部分をループに登録して試してみよう!」
Mちゃんは同じ動きになっている部分を、枚数限定の条件も含めて考えながらトライ&エラーを繰り返し、最後は無事クリアすることが出来ました!
よく頑張りました!
続いてタブレットの問題に挑戦です。
お題は前回に引き続き「指定ブロックで自由なお話作り」です。
着々とお話作りを進めてくれた前回の続きから始めたMちゃんは、予定していたお話作りから更にアレンジを加えて最後はクリアすることができました!
とくに本日頑張ったところは「お手紙」を使った動作です。
お手紙は、2つのキャラクター間で連携することが可能になる優れモノの機能。
キャラAが「この動きが終わったら君の番だよ!」と指令書を飛ばし、受け取ったキャラBが「わかった!僕の番だから動き始めるよ!」というようにプログラムで自動的に動きを連携させることが出来るようになるのです。
M「完成したはしたけど…何か、何か足りないような…。あの、今消えたパンケーキをもう一度出すことって出来ますか?」
さ「もちろん出来るよ。」
M「出来るんだ!」
さ「例えば”お手紙”とか?」
M「あ、お手紙!なんか、あった!なんだっけ…?」
さ「例えば、キャラBが動き終わった後に、パンケーキに「出てきてー」と合図を送ることができる。そんなイメージ!ブロック繋げながら試してごらん?」
物語に登場するパンケーキを再度登場させるために、お手紙が使えることに気づいてくれたMちゃん、さっそく組み込みます。
さ「いいね!これ、実はさらにまたお手紙送ることができたりするよ。」
M「あ、お手紙の色を変えて別のにして…」
さ「うんうん、そんな感じで…」
Mちゃんと先生の作戦会議がどんどんと進行し…
最後はしっかり完成です!↓
パンケーキを食べられてガックリしたお友達。
そんなお友達に「まだあるよ!」と声をかけ、新しいおやつをわける素敵なシーンを完成させることが出来ました!
アレンジが加えられ、Mちゃんのやりたいことを少しでも多く盛りこめられた回になりました。
さて今回は、
・繰り返しは、同じ動きが連続しているということ。
・連続した動きは、プログラムで短縮できるということ。
・プログラムは、指示書の受け渡しを利用すると別々のものが手を繋いで連携できるということ。
そんなことを学んでくれた回になったように思います。
さて、次回はいよいよ修了試験です。
どんな作品を完成させてくれるのか…とても楽しみです!
それでは、引き続きMちゃんの頑張りを期待しています。
続いてGくん。
ロジカルコースのGくん、本日は引き続き「クレーンゲーム」を作ろうに挑戦です。
前回、クレーンゲームのキャッチャーを矢印キーで動かすようにプログラミングする部分までを完成させてくれたGくん。本日は、その続きからプログラミングをスタートし、クレーンが実際に景品を取る動作、そして景品を落とす動作を完成させることが出来ました!
本日とくにポイントとなった部分は、クレーンが景品を掴みに行く動作を作りこむ部分でした。
G「先生、スペースを押したらキャッチャーが下がる部分がわからないです。」
さ「ではまず、実際のゲームセンターのクレーンゲームを想像してみよう。まず最初は、取りたい景品の上までクレーンを動かして取るボタンを押すじゃない?するとクレーンは自動的にぐぐぐっーと何処かの位置まで下がり続けるね?」
G「(うん。)」
さ「まず今作らないといけないのは、この部分のこと!そこでクレーンが下方向に移動していること注目します。そこで確認です。スクラッチで縦の動きは、〇座標だったかな?」
G「えっと…Y座標。」
さ「そうだね!では、下方向ってプラス?マイナス?」
G「…マイナス!」
さ「そう!ということは、クレーンの動きは最初に”Y座標をマイナス方向に動かす”ということがわかるね!」
G「(なるほどという表情。)」
さ「あともう1つ、気にしなくちゃいけないポイントがあるよ。それは、”一定部分まで下がり続けること”。確認だけど、下がり続けるためには、Y座標をマイナス方向に動かすブロック1コ繋げたら出来る?」
G「ううん。」
さ「そうだね。では、何をしてあげる必要があるだろう?」
G「繰り返し。」
さ「ばっちりだ!では、今整理した2つのポイントを押さえながら、自分で作ってみよう!」
Gくんやるべきことを整理できたようで、着々とプログラミングを進めていきます。
しばらくすると…
バッと振り向きキラキラした目でコチラを見つめます。
コレは、完成した合図ですね!(笑
さ「お、できた?」
G「うん!」
さ「(確認中…)うん、出来てるね!OK!ここまで出来たら、今度クレーンが上がる部分もできるはずだよ?」
Gくん本日閃き脳をフル回転させ、どんどんと進め、見事クレーンが自動的に下がる→掴む→上がる→戻る→離すと一連の流れを実現することが出来ました!
よく頑張りました!
さて今回は、
・座標を使うと上下左右の指定が出来ること
・同じ動きを効率良く行う方法「繰り返し」という考え方
・似たような動きは、作ったものをアレンジすると実現できちゃうこと
そんなことを学んでくれた回になったように思います。
次回は、いよいよ実際に景品をゲットする機能を作っていきます。
“判定”という考え方がポイントになるので、しっかりとトライ&エラーを繰り返して、いろんなことを吸収していってくださいね!
それでは次回の頑張りも期待しています。
ラストはKちゃん。
ロジカルコースのKちゃん、本日は引き続き問題集で「シューティングゲーム」を作ろうに挑戦です!
前回、自機を動かし弾を発射させる部分や、敵がランダムに現れ自機に向かって進む部分を実現。本日はその続きからスタートです。
今回は、前回お悩みとなっていたポイントを見事解決!
本課題のラスト問題「ゲームオーバー機能」の作成に突入するところまで頑張ってくれました!
本日1番の山場となった部分は、弾と敵がぶつかったときに敵キャラが消えないというバグを対応する部分でした。
K「敵がボールに当たると、ときどき消えてほとんど消えない。」
さ「お、本当はいつも消えてほしいのに、うまくいかないところに悩んでいるんだね。」
K「(うん。)」
そこで、Kちゃんが作成した現在のスクリプトを確認します。
すると見えてきた今回のポイントは、”弾は敵に当たると消える”・”敵は弾に当たると消える”というプログラムが、別のタイミングで同時に存在することでした。
さ「まず一度問題文を見直してみよう。さてこの部分!」
【弾と敵が衝突すると、敵が消える。】
さ「今、この問題文とKちゃんが作ってくれたスクリプトでは、ちょっとだけ違うところがあります。わかるかな?」
K「(シンキングタイム…)」
しばらく考えてみたKちゃん。
実はこの時、実際のお仕事でプログラムを作成している作成者が「その通り作ってるはずなんだけどなぁ。」と中々”ズレ”を見つけることができず泥沼にハマることがあるのですが…
まさに、大人がハマるこの現象がKちゃんに現れている状態でした。
(プログラマーあるあるなのです…。)
そこで、Kちゃんにヒントを出してみます。
さ「さっき一緒に確認した問題文では、何が消えると書いてあっただろう?」
K「敵?」
さ「そうだね。では、Kちゃんのスクリプトを確認してみよう。まずは、弾のスクリプト。ここでは、敵に触れたら消えると書いてあります。」
K「(うん。)」
さ「続いて、敵のスクリプト。ここでは、弾に触れたら消えると書いてあります。さて、確認!今、消えたのは本当に”敵だけ”だったかな?」
K「敵だけじゃない。」
さ「そうだね。ということは、まずは弾が消える部分は、今回は必要がないということがわかったね。必要がないということは?」
ピンと思い浮かんだKちゃんは、弾が消えるスクリプトを修正します。
シューティングゲームは、スマホのアプリ1つを例にしても色々な種類があり、中には敵と弾がぶつかるとどちらも消える機能になっているものもあります。
今回はこのイメージが”正”として機能していたため、問題が求めていた(作ってほしい)機能とのズレが発生し、上手く動かなくなったバグに繋がってしまっていたのでした。
しばらくすると、修正を終わらせてくれたKちゃん。
修正した後は、確認テストが大切です。
実際に動かしてみると…グッジョブです!
常に敵だけが消えるようになりました。
よく頑張りました!
さて今回は、
・問題文がお願いしていることを確実に行うことの大切さ
・思った通りに動くか、必ずテストを行うことの重要性
・意外と自分では発見しずらいときがある(=第三者に見てもらうことや意見の有用性)
こんなことを学べたように思います。
さて次回は、いよいよ大詰め。
「ゲームオーバー機能」を仕上げていきます!
今まで学んだことを少しずつ思い出しながら、クリアに向けて頑張りましょう!
ささい先生ありがとうございました。
Mちゃんはプログラミングカーの課題で重要な「同じものを探す」というところをしっかりクリアしてくれました。プログラミングで重要な考え方なんですよね。また、タブレットでのプログラミングでもお手紙を上手に使えました。これも今後スクラッチのコースに移ったら使う考え方なんですよね。ぜひ覚えておこうね。
Gくんはクレーンゲームのアームが動くようになりました。次は掴むところに入っていきます。ちゃんと掴むことが出来るかな?
最後はKちゃん。シューティングゲームの作成も佳境に入ってきました。弾と敵の処理もうまくできあがり、あとはゲームオーバーの部分を残すのみ。次回こそ完成だね!
次回のレポートもお楽しみに!
無料体験授業実施中!
毎週火曜日 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@お友だち募集中!
新着授業レポートの通知、無料説明会やイベントの案内など、
耳よりな情報を配信中です。
加えて、お友だち登録されている方には、
イベント参加費の割引、
入会の際の割引、プレゼントなどの特典も!