ツクールでできる!?プログラミング教育のお話

7.どんなにいい事だって、間が悪いとね(その2)
(小学校では教えてくれない、1秒より短い時間の単位のお話)
前回、プログラムは「間」を取ることが苦手ということをお話ししました。
ではそのプログラムに「間」を取らせるにはどうすればいいでしょうか。
答えは「人間がちょうどいい『間』を命令してあげること」です。
今回はその「間」の入れ方についての説明です。

前回、上手くウェーブが作れていた先生の使っていた命令がこちら。
男の子の命令の時には無かった「ウエイト7フレーム」というところに注目しましょう。
ここで新しく「フレーム」という言葉が出てきました。プログラムやゲームの世界で使う、時間の単位です。
60分で1時間、60秒で1分と同じ感じで、60フレームが1秒となります。1フレームはとんでもなく短いです。
生活で使うことはあまりない単位ですが、プログラムでは結構使うと思うので、いい機会なので覚えておきましょう。
「ウエイト」というのは「待つ」ということで、「ウエイト7フレーム」で「7フレームの間、待って」となります。
これで変数が1足されるまでの間に7フレームの「間」を作ることができ、前回のきれいなウェーブになります。

では7フレームの7という数字はどこから出てきたのか。それは何度も試してみた結果として、
7フレームが一番ピッタリだった、ということになります。つまり人間の力で考え、確かめて決めています。
プログラムの苦手な「ちょうどいい」「少し」の部分は、人間がきちんと調整してあげないとダメなのです。


では実際にちょうどいいフレーム数を考えてみましょう。上の画像をクリックするとゲームへ飛びます。
今回の説明部分は1ページめくった『8.プログラムの苦手な「間」の仕組み(その2)』です。
部屋の下の方では何やら人が回っています。実はこれ、上下左右に向きを変える時に「間」を入れることで
回っているように見せています。まったく「間」を入れていない一番左の子はもはや何をやっているか分かりません。

右下にいる女の子に話しかけてみてください。その後、数値入力を求められます。
ここで1〜15の数値を入力すると、その数だけ間をあけて向きを変えます。いろいろな数値を入れてみて
一番キレイに回っている数値を探してみましょう。考え方はそれぞれですので人によって正解はちがうかもしれません。
ちなみに左から2番目の女の子はウエイト3フレーム、3番目の子はウエイト10フレームで回っています。

ちょうどいい数値がどうしても見つけられない、見つけるのが苦手という人もいると思います。
そういった人のためにRPGツクールでは「間」を持たせるのにもう1つ方法があります。

動作させる命令の中に「完了までウエイト」という項目があります。ここにチェックを入れることで文字通り
その動作が完了するまで待ってくれる、という風になります。ここで言えばジャンプが終わるまで待ってくれます。
ジャンプに限らず、移動、アニメーションなど、時間のかかるものであればこの方法で「間」を作ることができます。
ただし「音」に関しては長い音でも鳴らした瞬間に動作が終わったものと判断されますし、
向きを変えるのは一瞬なのでその一瞬だけ待ってもらってもあまり効果がありません。また移動はある程度速さを
コントロールできますが、ジャンプやアニメーションは早さを変えられないので、数値入力よりは細かく決められません。
それでも、これを利用することで数値入力が苦手な人でもある程度プログラムに「間」を取らせることができます。
前回の男の子もそのおかげで今回は、先生のように速くはないですがきれいなウェーブを作ることができています。

大人の人に読んでほしい、ちょっと小難しい真面目なお話
「トライ・アンド・エラー」という言葉を聞いたことがあると思います(正確には「トライアル・アンド・エラー」らしいですが…。
日本語にすると「試行錯誤」。思いつく方法を試みて、失敗を重ねていく内に解決に辿り着く学習様式です。
機械的なプログラミングで、いかにも人間らしい「試行錯誤」の学習方法?と思うかもしれませんが
実はプログラミングと試行錯誤はとても相性がいいものだと思っています。
人間同士で試行錯誤していると、時間が経つうちに「ああ〜もう面倒くさいからこれでいいや」となったり
「これだけ頑張ったんだから、ここまででいいよ」という気持ちになります。それが人間の良さでもあるのですが
プログラムにはそれは通用しません。よく言えば妥協を甘えを許さない、悪く言えば非情です。
そんな妥協や甘えを許さないプログラム相手だからこそ、試行錯誤し解決方を探し出す強い思考を育てる…。
それもプログラミング教育・プログラミング思考の大事な要素だと思っています。
今回では「女の子が一番キレイに回っているフレーム数を試行錯誤してもらう」内容を取り入れています。
どの数値をもってベストとするかは人それぞれだと思いますが、いろいろな数値で試してみてもらえたら幸いです。

もどります
inserted by FC2 system