Hakkun building2
Contents
ブロックからコードへ
8x9CraftはJavaScriptによるコードのプログラミングを学ぶことを目的として開発をしています。そのため、ブロックエディタによるプログラミングからコードによるプログラミングへの移行はどこかでやらなければ、発展したワークを行うことができません。
理由は、ブロックでは限られたことしかできないため今後のワークに影響してくるからです。
本ページでは、はっくんビルディング2を通してブロックからコードへ移行するための手順を説明します。
はっくんビルディング2とは
はっくんビルディング2は、はっくんビルディング1で使用したビルディングシートを自分たちで作るワークです。
ここで作成したビルディングシートは、はっくんビルディング1で使うことができるのでちょっとしたエコシステムにもなります。
はっくんビルディング1は8x9Craft初心者向け、はっくんビルディング2ははっくんビルディング1を経験した人向けという位置づけにもなっています。
はっくんビルディング2のすすめ方
ワークは次のような手順ですすめます。
- テーマ決定
- テーマに関連した作品を考える(検討)
- マインクラフトで考えた作品を実際に作る(見本作成)
- 作成した作品をはっくんを使ってプログラムで作成する(制作)
- 作ったプログラムに無駄がないか再検討する(改善)
- 作成したプログラムを発表する(公開)
テーマ決定
テーマは時事ネタ、季節ネタ、地域ネタなど、なんでもかまいません。
テーマを設定する理由は、生徒たちが短時間で作りたい作品を見つけやすくするために設定する作品なので、10分ぐらいで作りたい作品が決まるように、限定的な作品が良いです。 たとえば、時期が年初なら「正月」というテーマにしてみたり、自分たちが住んでいる場所や、都道府県なら、その地域の名物や生き物などを調べることもワークの面白さのひとつになります。
テーマに関連した作品を考える
テーマが決定したら、実際に生徒に調べさせて作りたい作品考えさせましょう。
このとき、つかうのはインターネット検索です。 Google検索の使い方をしらない場合は使い方を説明してあげてください。
そして、テーマに合う作品を最低でも4つ考えるように指示してください。
ポイントは、食べ物、物、建物、人物といったものから考えると見つけやすいです。
マインクラフトで考えた作品を実際に作る
ここからは実際にマインクラフトを使用したワークになります。 もし、マインクラフトが各生徒のPCに入っていない場合ははいっているPCを交代でつかうなどの工夫をする必要があります。
作品の制作は次の条件に合うよう指示をしてください。 (あくまで推奨ルールなので、やりにくい場合は変えてください。)
- レベル1(1点) ブロックの大きさ3以下
- レベル2(5点) ブロックの大きさ4以下
- レベル3(10点) ブロックの大きさ5以下
- レベル4(20点) ブロックの大きさ6以下
- レベル5(30点) ブロックの大きさ7以下
- レベル6(50点) ブロックの大きさ12以下
ブロックの大きさは、縦の最大の長さ+横の最大の長さ+奥行きの最大の長さの合計です。
(このとき重複する部分は一個しかカウントしません)
この図だと
青 横の長さ 4
赤 縦の長さ3(一個横と重複するため)
緑 奥行きの長さ2(一個横と重複するため)
合計(9)= 4+3+2
でレベル6の作品になります
それから、縦、横、奥行きの各長さは最大でも5以下にするよう決めておいたほうがよいでしょう。
長過ぎると巨大になり、見通しが悪くなるので難しい作品になります。
このワークは実際にマインクラフトを使用して作るワークなので、時間を忘れてついつい遊んでしまいがちです。 短いですが15分ぐらいに時間を区切っておくとよいです。(とはいえ、生徒の年齢にあわせて決めてあげてください。)
それから、ブロック数の少ない作品は作るのが難しいですが、相対的にプログラムが難しくなります。 そのため、大変ですが、プログラム初心者にはレベル3以下あたりの条件を付け加えておいたほうがいいでしょう。
作成した作品をはっくんを使ってプログラムで作成する
作品ができたら、それをベースにプログラムの作成をはじめます。
プログラムは一回で完成まで出来るプログラムが条件です。
マインクラフトをもっている生徒の場合は、マインクラフトの画面とエディタを併用してプログラミングをします。 もし、マインクラフトを持ってなく、マインクラフトのPCを交代で使う場合は、自分で作った作品をスクリーンショットで保存して、 画像データとして、生徒のPCでみるか、印刷するなどしてあげてください。
作ったプログラムに無駄がないか再検討する
プログラムができたら、プログラムに無駄がないかチェックをします。
- 同じことを3度以上書いている場合は繰り返しを使って省略できないか?
- 振り向きや置くなどで、無駄な動きはないか?
場合によっては、繰り返しをするために無駄な動きをあえていれることもあります。
プログラムができたら、別のレベルの作品にもチャレンジをするか、ブロックプログラミングをしている子はこのタイミングでJavaScriptで同じコードをつくることを薦めてください。
作成したプログラムを発表する
作成したプログラムを発表します。
発表では、作品展示用のフィールドを事前に作っておいて、そのサーバーにログインしてもらい、そこにはっくんを移動させて発表するようにすると、以後完成した作品として管理することができます。
ただし、先生と同じサーバーにログインしないで制作をした場合は、JavaScriptでないとプログラムの転写ができないので、マルチプレイサーバーにして、複数の生徒が 同じサーバーに接続しておくほうがよいでしょう。
この場合、生徒が展示用区画にはいって、作品を間違ってこわしたりしないように、禁止ブロックと封ブロックをつかって区画をつくっておくと便利です。
禁止ブロック: はっくんの侵入を防ぐ
封ブロック : プレイヤーの侵入を防ぐ
はっくんビルディング2のポイント
ブロックコーディングからJavaScriptコーディングへの移行は、一度ブロックで作ったプログラムを、JavaScriptに変換する作業によって慣れさせます。 一度自身でブロックによってプログラムをしているので、プログラムのロジックの理解はできています。そのためJavaScriptへの変換は単純にJavaScriptの文法の問題と、アルファベットのキータイピングの問題になるはずです。 指導する場合は、そのあたりに重点をおいて個別に指導をしてあげてください。
しかし、はっくんビルディング2は、ブロックコーディングの生徒をテキストコーディングに進めるためのワークですが、必ずしも生徒にテキストコーディングを強制する必要はありません。
テキストコードによるプログラミングはタイピングが十分にできないとストレスばかりたまりプログラミングが難しいという印象をもってしまう可能性もあります。
とくに、小学4年生以下ぐらいは、自由に作ることのほうが楽しい子が多いので、生徒の個性にもよりますが、強制する必要はないと思います。
このタイミングで、テキストコーディングにすすめない場合は、ビルディング1とビルディング2、ビルディング3を交互に行いながら、ゆっくり時間をかけてなれさせていけばよいと思います。