こんにちは!
キッズプログラミング教室「イフキッズアカデミー」
池ちゃん先生です!
※クラス分け
【火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(I)くん(小3)、H(A)くん(小3)、
Hちゃん(小5)、Hちゃん(小4)でした。
では、ささい先生よろしくお願いいたします。
こんにちは、ささい先生です。
それでは始めていきます。
まずは 、H(I)くん。(今回Hくんが2名いて、しかも学年も同じなので、名前を二文字にしています。)
ロジカルコースのHくん、本日は「シュートゲーム」作りの続きです。
前回まででゲーム機能のほとんどを作り終えています。
あとは、1つの壁を突破することでクリアです。
Hくんは今回、残りの壁とのなった「シュートの強さを決めるゲージをスペースキーで動かしたり止めたり、また動かしたり。」この機能を完成させることに挑戦し見事クリアすることができました!
今回とくにHくんの知識を深めたところは、変数を使ってパターン分けをする部分です。
H「う~ん…難しい!」
さ「そか。じゃあ、まずはやりたいことを整理してみよう。問題を見直してみると、スペースキー1つで『①バーを止める・ボールをシュートする。②バーを動かす・ボールを元の位置に戻す。』この2つの機能を持たせたいというのが読み取れるね?」
H「はい、前回からそこに悩んでいて…。」
さ「Hくんのスクリプトを見ると、いいところに着目している感じがするんだ。この機能について、”変数”を使ってパターン分けしようとしているんじゃないかな?」
H「はい、前回の先生と一緒にやったときに、変数を使うというところまでは、方法が見えました。だけど、その後にどんな風に活かしたらいいか悩んでいました。」
さ「前回、途中まで作りかけてくれたこのスクリプト。
少し思い出してみてほしいんだけど、これはパターン分けに活かすために用意したんじゃないかないかな?」
H「あー!そうだったかもしれません。」
さ「このスクリプトの場合だと、変数の箱の数字が”0″か、”0以外”の2パターンで動きを変えることが出来る。ということは、用意してある”スペースキーを押す”ブロックとこのスクリプトをつなぎ合わせれば…。」
H「あー…なんとなく見えてきました。でも、0と1(もう1つのパターン)を切り替えるために数字を変えないといけないから…。これはどこでやればいいんだろう?」
さ「よし、じゃあ作りながら動きを確認しつつタイミングを見つけてみようか?」
Hくん、早速どのタイミングで変数の数字を変えてあげたらよいか、トライアル&エラーを繰り返していきます。
何度もブロックを組み換え試行錯誤していくと…
H「先生、出来ました!」
~省略~
H「スペースを押してバーを停止させたら、次はバーを動かしたい。なので、止めるブロックを入れたタイミングで次の数字を入れました。そしたら、次にスペースを押したときにバーを動かすことができました!」
グッジョブです!↓
変数のパターンに分けて動きを制御する際、実行したい機能を入れることはもちろん、”次の機能を動かすための準備”として利用することも出来ます。
この方法は、プログラムを制御するためにとても大切なところです。
今回の壁はHくんとって、新たなポイントを学べた良い経験になったと感じています。
さて、シュートゲームをクリアしてくれたHくん。
次回は新しい課題に突入です。
今まで解いてきた課題も何度も参考にしながら、取り組んでみてくださいね。
続いて 、H(A)くん。
ロジカルコースのHくん、本日は問題集でテーマ「一定のスピードで左右を往復しよう」に挑戦です。
この問題では、スプライトが
・一定の間隔で、
・一定の距離間を、
・左右に往復し続ける
この3つの要素を作りこむことがポイントです。
今回Hくんは、この3つの要素を全て組み込むことに成功し、見事課題をクリアしてくれました。
本日Hくんにとって一番山場となった部分は、どのように反対方向に切り替えるか?というところです。
H「今、反対方向に切り替える様に作ってみたんですけど、なんか変な動きをするんです。」
その悩みの種となった動きがコチラ。↓
やりたいことは、「右端に着くと、今度は左端に向かって進み続ける」ことだったのですが…予想に反して左右に前後してしまったのです。
さ「左右に前後してるねぇ。じゃあ何が原因なのか、考えてみよう。」
H「原因かぁ。どこだろう…。」
さ「やりたかったことは何だっただろう?」
H「右端に着いたら左端に向かって動かしたいんです。」
さ「そうだね。ということは、”右端に着いたら”の条件を使ってる部分の周辺に何か原因があるかもしれないねぇ。見てみよっか。」
動きを制御している条件に何か原因がありそうだと予想した2人。
一緒にスクリプトを確認します。
続いて、やりたいことと現在の状況を整理します。
【やりたかったこと 】
右端(左端)についたら、動く方向を切り替え、
反対の端に着くまで同じ方向で動きつづける。
【現在制御しているスクリプト】
毎回、右端を超えているかどうかチェックし、
・右端を超えていない→右に動く
・右端を超えた →左に動く
を繰り返す。
そうすると、こんなことが見えてきました。
さ「今のスクリプトは、毎回右端かどうかチェックしているよ。このままだと、右端を超えたから、左方向に1回動いたとしても、また『右端かチェックする』から、もう一度右に向かって動くようになっていて、このチェックをずっとやり続けちゃうんだね。」
H「なるほど…。」
Hくん、少しずつ今のスクリプトがどんな風に動きを制限しているか見えてきた様です。
原因が見えてくれば、あとは修正が出来ればOKです!
さ「一回右端(左端)かどうかチェックしたら、次は反対の端に着くまで”ずっと”動き続けさせたい。これをどうやってブロックで実現するかがポイントだね!」
H「ん~、”ずっと”の制御ブロックを使うということですか?」
さ「いいね!”ずっと”を使って繰り返しをする制御ブロックは3種類あったね。どんなブロックを使ってみたらいいか、実験しながら見つけてみよう!」
Hくん、ここから
・どんなブロックを使っていけばよいか
・右と左に動かすための条件はどのようにしたらよいか
ここにポイントを絞り、考えつつ実験しつつ進めていきます。
繰り返しブロックを組み替えながら頑張っているうちに…
さ「お、出来てるんじゃない?!」
H「あれ、そっか、これでいいんだ!」
Hくん、気づかないうちに完成させることに成功しました!!
グッジョブでした!
このときHくんは、実験しながら”〇〇まで繰り返す”ブロックを試していました。このブロックこそ、左右の端を切り替えるスイッチとして条件を設置することが出来るキーマンだったのです。
切り替えスイッチとなる条件を考えられたことも、グッドポイント!
よく頑張りました!
さて、次回のテーマは「複数のランダムブロックと回転ブロックの組み合わせ」問題です。
ココで登場するランダムと回転ですが、実は一度登場しているブロックです。
問題集では何度も復習できるタイミングがあるので、「あれ?これどうやったっけ?」と疑問に思ったところは、今までの問題を何度も参考にしながら、クリアに向けて頑張っていきましょう!
続いて、Hちゃん(小4)。
ロジカルコースのHちゃん、現在修了試験の真っ最中。
修了試験では、今まで学んだことをフルに使ってトランプゲームを作りあげることが最終ゴールです。
講師からのヒントも極力もらわず、今まで作ってきた課題を参考にしたり、インターネットで調べながら自力で進めていくのがこの試験。
頑張ってクリアしてもらいたい…!
そんな思いで見守っています。
Hちゃんは本日、修了試験の導入問題をクリアし、取り組むテーマを「神経衰弱」に設定し、カードの用意を終え、機能の作りこみへステップへと突入することが出来ました。
現在の途中経過のイメージ。↓
Hちゃんのつくる作品は、いつもビジュアルがとても素敵です。
さらに動きを制御するスクリプトのアイデアも見ていて、「おお、すごい!」と感じた場面も多かったのが印象的です。
さて、頑張って取り組んでくれたHちゃん。
本日のグッドポイントは、導入問題の「一度使ったカードをもう一度使わないようにする機能」を作り上げるところのスクリプトの短さ(プログラムのシンプルさ)でした。
プログラムで実現したい機能を制御する(機能を作る)際、スクリプトが短いということは、シンプルであることを意味します。
シンプルなことは、プログラムをスムーズに動かせるメリットの1つ!
場合によっては、他の人にも見やすくなるので、大切な力に1つなんです。
今回Hちゃんは、そのシンプルさを実現したことに加え、本日ノーヒントでクリア!
今まで学んだことがよく活かされており、また”どんなブロックや制限(制御)が必要か”頭でピピっと組み立てられていたんだなぁと感じ嬉しく思いました。
さて、次回からは今回作り上げてくれたビジュアルに実際の機能を本格的に追加させていきます。
たくさん悩むところも出てくるかと思いますが、そんなときは今回のように、今まで作った作品を参考にしたり、何が必要か整理しながら1つずつ解決してみましょう。
それでは、次回の頑張りも期待しています!
ラストは、Hちゃん(小5) 。
ロジカルコースのHちゃん、本日は引き続き「クレーンゲーム」に挑戦です。
前回までで、景品が当たるとクレーンで持ち上げる機能を作るところまで実現させることができました。今回はこの続きからスタートです。
本日Hちゃんは、クレーンのアームが開く動きや景品を持ちあげ元の位置に戻った後、景品を下に落とす部分を実現することができました。
本日1番の山場となった部分は、クレーンが元の位置に戻りアームが開いた時にクマを落とす機能を作るところでした。
H「先生、今景品を落とすことができていなくて、やり方に悩んでいます。」
さ「そかそか。じゃあ、一度景品のクマを落としたいタイミングを整理しよう。まず、クマを落としたいのは、どんなタイミングかな?」
H「クレーンが元の位置に戻ってアームが開いたです。」
さ「いいね!では、アームが開いた時のスクリプトはどこかな?」
H「ここです。」
さ「うんうん。ということは、この後にクマを落としたいのだから…」
H「あ、この後に追加するってことですね。」
さ「うん、いいと思います!」
まずは、Hちゃんどの部分にクマを落とすための制御をしたら良いか把握することができました。続いて、クマのスプライトが落ちるスクリプトをどこに書けばよいか考えていきます。
さ「では、続いてクマを落とすブロックを作ろう。今見ているのは、クレーンのスプライトなんだけど、ここにクマが落ちるスクリプトを書いたら動くかな?」
H「いえ、動かないです。んー、じゃあクマにお手紙送ればいいということですか?」
さ「すごくいいと思うよ!」
素晴らしいですね!
スプライトそのものを動かすためには、それ自身にスクリプトで動きを制御する必要があります。
そこで、他のスプライトから動いてほしいタイミングで指示を出すときに有効なのが”お手紙”や”変数”といったブロックなんです。
Hちゃんが、この部分をしっかりと認識していることが感じられ嬉しく思いました。
このあと、クレーンが開いたタイミングで、クマにお手紙を送り、そのままクマを落とすスクリプトを完成させ無事に成功。
よく頑張りました!
Hちゃんは、いつもわからない点をしっかりと確認し、自分の中に落とし込めるよう努力しています。とてもいいことです!
色んな基本ブロックを組み合わせていくうちに、疑問や発見がまだまだ出てくると思います。
次回からも、わからないことがあれば質問や前の課題を参考にしながら頑張っていきましょう!
ささい先生ありがとうございました。
HIくん(ひ君)は無事シュートゲームが完成。前回は悩んでしまって手が止まってしまったのですが、今回はちゃんと整理出来ましたね。次の課題もうまく整理しながら進められるといいな。
HAくん(は君)は左右に繰り返し移動するプログラムの課題に挑戦。ここのところ、繰り返しの練習をしていたので、うまくいくかなと思っていたのですが、組み合わせとなると思い通りにはいかなかったようです。でも先生の力をかりつつ、作り上げることが出来ましたね。次回も今回の内容を参考に進めていこうね。
Hちゃん(小4)は修了試験に挑戦中。神経衰弱のプログラムを組み立てているのですが、すごくスムーズに進んでいるみたい。この調子で進めていこうね。
最後はHちゃん(小5)。クレーンゲームに挑戦中ですが、今回で基本的な動きは完成。あと少しでこの課題も完成なので、頑張ろうね!
次回のレポートもお楽しみに!
無料体験授業実施中!
毎週火曜日 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@お友だち募集中!
新着授業レポートの通知、無料説明会やイベントの案内など、
耳よりな情報を配信中です。
加えて、お友だち登録されている方には、
イベント参加費の割引、
入会の際の割引、プレゼントなどの特典も!