Difference between revisions of "Hakkun sprint"

From 8x9craft
Jump to: navigation, search
(次のレース)
(はっくんを競技会場に移動)
 
(9 intermediate revisions by the same user not shown)
Line 16: Line 16:
 
※隣接や、同じ素材の部分ははっくんビルディングのルールと同じです。
 
※隣接や、同じ素材の部分ははっくんビルディングのルールと同じです。
  
時間の計測は、プログラムの終了時間で比較をします。そのため、ストップウォッチなどを用いて目測で計測した時間ではなく、作成完了しプログラムが終了した時間であるという事を説明してく必要があります。
+
時間の計測は、プログラムの終了時間で比較をします。そのため、ストップウォッチなどを用いて目測で計測した時間ではなく、作成完了しプログラムが終了した時間であるという事を説明しておく必要があります。
  
  
Line 25: Line 25:
 
速さを競うゲームなので、スタートは厳密でなけばなりません。そのため、スタートはレッドストーン信号を用います。
 
速さを競うゲームなので、スタートは厳密でなけばなりません。そのため、スタートはレッドストーン信号を用います。
  
フィールドに等間隔にレッドストーン信号を受けるためのブロックを配置し、全部に信号が届くようにレッドストーンパウダーを置いてきます。
+
フィールドに等間隔にレッドストーン信号を受けるためのブロックを配置し、全部に信号が届くようにレッドストーンパウダーを置いていきます。
  
 
このとき、気をつけてないといけないのは、レッドストーンパウダーは最大で15ブロックまでしか届かないです。
 
このとき、気をつけてないといけないのは、レッドストーンパウダーは最大で15ブロックまでしか届かないです。
Line 89: Line 89:
 
練習時間は10分ぐらいがちょうどよいです。
 
練習時間は10分ぐらいがちょうどよいです。
  
練習時間の間は、基本的に生徒をみてまわりながら何か操作方法で困っていないかみてまわってください。
+
練習の間は、基本的に生徒をみてまわりながら何か操作方法で困っていないかみてまわってください。
 
とくに勝つためのポイントやプログラムの作り方を丁寧に教える必要はないとおもいます。
 
とくに勝つためのポイントやプログラムの作り方を丁寧に教える必要はないとおもいます。
  
Line 98: Line 98:
 
時間がきたら、「タイムアップがきました」と皆に説明し、練習時間はこれ以上必要ないか聞いてみてください。
 
時間がきたら、「タイムアップがきました」と皆に説明し、練習時間はこれ以上必要ないか聞いてみてください。
  
もし、このとき、もっと欲しいとう子が数人いたら、人数*1分程度練習時間を伸ばしてあげるとよいです。
+
もし、このとき、もっと欲しいという子が数人いたら、人数*1分程度練習時間を伸ばしてあげるとよいです。
  
 
とはいっても、練習時間の延長は最大でも3回ぐらいまでにしておいたほうがよいでしょう。
 
とはいっても、練習時間の延長は最大でも3回ぐらいまでにしておいたほうがよいでしょう。
Line 110: Line 110:
 
移動したい場所に、あなたが移動し、そこで
 
移動したい場所に、あなたが移動し、そこで
  
  /teacher gather <各はっくん同士の間隔> <整列したい報告 right, left, center デフォルトはcenter>
+
  /teacher gather <各はっくん同士の間隔> <整列したい方向 right, left, center デフォルトはcenter>
  
 
と入力します。
 
と入力します。
Line 178: Line 178:
  
 
これを忘れると泣きながら、皆が作ったオブジェクトを壊してまわらないといけないです。
 
これを忘れると泣きながら、皆が作ったオブジェクトを壊してまわらないといけないです。
(はっくんを移動させた後では、リセットは効かないです。)
 
  
次に、はっくんを練習会場に移動するのですが、ここでも、はっくの競技会場へつれていったコマンドが使えます。
+
(はっくんを移動させた後では、リセットは効かないから。)
 +
 
 +
次に、はっくんを練習会場に移動するのですが、ここでも、はっくんを競技会場へつれていったコマンドが使えます。
  
 
  /teacher gather 7
 
  /teacher gather 7
Line 189: Line 190:
  
 
==はっくんスプリントのポイント==
 
==はっくんスプリントのポイント==
 +
 +
「いかに教えないようにするのか?」ということを考えながらワークを進めてください。
 +
 +
勝つためのプログラムの作り方、考えかたはいくらでも教えることができます。
 +
 +
だけど、このワークでは勝つことが重要なのではなく、どうやったら効率的にブロックを置くことができるのか、また繰り返しがどのように動いているのかを失敗をしながら学んでいくことが狙いです。
 +
 +
また、それを学ぶのに適したワークにもなっています。
 +
 +
教えてしまうことでその学びの機会を失ってしまい、それを次のワークで学ぶ必要がでてくるのでハードルが高くなってしまいます。
 +
 +
そのため、負けても次で挽回できるようにテンポよく次のレースにつなげていくのがポイントです。
 +
 +
それから、ブロックで簡単にプログラムを組み立てることができるようになってきてる子は、JavaScriptを勧めてください。
 +
使うコードは、 crab.forward(), crab.back(), crab.stepLeft(), crab.stepRight(), crab.place(), crab.placeUp(), crab.placeDown() それから for 文なので覚えることは少ないです。

Latest revision as of 06:47, 27 October 2017

はっくんスプリントとは

はっくんスプリントは規定のオブジェクトを連続で10個、誰が一番速く作ることができるか?を競うゲームです。 このワークは、はっくんビルディングの次にやるべきワークで、ワークの目的として、はっくんビルディングではなんとなく使うことができていた繰り返し文を、より正確に理解できるようにすることです。


はっくんスプリント

はっくんスプリントのルール

はっくんスプリントのルールは、

  • 規定のオブジェクトを連続で10個作ること
  • 10個より多い、または少ない場合は失格
  • オブジェクトは隣接していないこと
  • 同じ素材のオブジェクトであること

※隣接や、同じ素材の部分ははっくんビルディングのルールと同じです。

時間の計測は、プログラムの終了時間で比較をします。そのため、ストップウォッチなどを用いて目測で計測した時間ではなく、作成完了しプログラムが終了した時間であるという事を説明しておく必要があります。


Hakkun-sprint2.png

はっくんスプリントの準備

速さを競うゲームなので、スタートは厳密でなけばなりません。そのため、スタートはレッドストーン信号を用います。

フィールドに等間隔にレッドストーン信号を受けるためのブロックを配置し、全部に信号が届くようにレッドストーンパウダーを置いていきます。

このとき、気をつけてないといけないのは、レッドストーンパウダーは最大で15ブロックまでしか届かないです。 そして、届かない場合はレッドストーンリピーターなどをつかって延長をするのは基本なのですが、これを使うとと遅延が発生してしまうため、スタートのタイミングを同じにする仕組みとしては使いたくありません。 そこで、次のような回路をもちいて遅延なしで延長をします。


Hakkun-sprint6.png

このように、ピストンを使って、レッドストーンブロックを動かして延長をすると遅延がなくなります。

また、コース自体は、まっすぐ連続で作るという前提にしておいたほうが数を数えやすいので、横に広がらないようコースには禁止ブロックを埋め込んでおくとよいです。

Hakkun-sprint7.png


毎回作るのは大変なので、一度つくっておいてそれを流用するのがベストです。 自分で作ったほうが楽しいとは思いますが、手間もかかります。 その場合は、はっくんビルディングのマップに、スプリント用のコースもありますので、こちらを使ってもいいです。 自由に改変しても問題ありません。


Hakkun-sprint8.png


スタート用のレバーは、コースの下のほうにあります。

Hakkun-sprint9.png

はっくんスプリントのすすめかた

レッドストーン信号を待つの説明

次の図のように、はっくんをスタート位置に置いて、レッドストーン信号を送るとはっくんが自動で動き出すことをデモンストレーションし説明をしてください。


レッドストーン信号


プログラムは次のような例を作って、実際に動かすところまで説明をするとより理解しやすいです。


レッドストーン信号プログラム

オブジェクトの発表

動く仕組みを説明したら、次は、作成するオブジェクトを発表します。 オブジェクトは過去に作ったものや、新しいものでもかまいません。 ですが、最初は、ちょっと簡単なものがよいとおもいます。

例えば、次のようなオブジェクトだと作りやすいし、結果にもばらつきがでて面白いです。

さんご
砂 12:0、 赤いコンクリート 251:14

練習の開始

10個つくるべきオブエジェクトを発表したら、すぐに練習時間です。 このとき、各はっくんのモードをクリエイティブモードにしておくことを忘れないでください。

練習時間は10分ぐらいがちょうどよいです。

練習の間は、基本的に生徒をみてまわりながら何か操作方法で困っていないかみてまわってください。 とくに勝つためのポイントやプログラムの作り方を丁寧に教える必要はないとおもいます。

はっくんスプリントは、一回ではなく、90分の間に4、5回は繰り返して行いますので、失敗をしながら学んでいくことを期待しています。

練習時間の終了

時間がきたら、「タイムアップがきました」と皆に説明し、練習時間はこれ以上必要ないか聞いてみてください。

もし、このとき、もっと欲しいという子が数人いたら、人数*1分程度練習時間を伸ばしてあげるとよいです。

とはいっても、練習時間の延長は最大でも3回ぐらいまでにしておいたほうがよいでしょう。

時間内に作れなかった場合でも、次があるということで、最低でもレッドストーン信号でスタートするところまでは入れて、練習を中断してもらいます。

はっくんを競技会場に移動

はっくんを会場に移動するにはコマンドを使います。

移動したい場所に、あなたが移動し、そこで

/teacher gather <各はっくん同士の間隔> <整列したい方向 right, left, center デフォルトはcenter>

と入力します。

Hakkun-sprint10.png

図の場合だと、間に7ブロックなので

/teacher gather 7 

と入力しエンターすると、プレイヤーを中心に7ブロックの間隔ではっくんが整列されます。

Hakkun-sprint11.png

プログラムのスタート

整列が済んだら、全員に ”レッドストーン信号が入るまで待つ” を入れたかどうか確認し、「入れたならスタートをしてください。」 といいます。

たまに、いれないでスタートしてしまう子がいるので、その場合は個別に修正をしてあげてください。


全員が準備完了になることを teacher 画面で確認します。 「実行中」となっているとプログラムが実行されています。

Hakkun-sprint12.png

レース開始

「スタート」の合図でレバーのスイッチをいれて、一斉にスタートをさせます。

そして、視界をよくするため、F1キーで、アイテムやログなどを消した状態で中継をすると良いです。

競技が開始されたら、プログラムを中断して再開してはいけないことを伝えてください。

中継しながら、速く出来ている子はどうして速いのか、自分とはどこが違うのか考えてみるよう伝えてください。


Hakkun-sprint13.png

レースの終了

10個できている子を確認し、明らかに、一番速い子が分かっている場合は、そのまま優勝者を拍手で祝福し、次のレースへと移動します。 (※注:目視で早い子がわかる場合の話です)

そして、だれが一番か分からない場合は、teacherの画面で時間を比較し判断してください。 このタイムはレッドストーン信号がONになった時間から、プログラムが終了した時間までの時間です。

ほぼ同じ時間でもコンピュータのラグによって若干の誤差があることを説明しておいてください。そして、1秒未満に関しては誤差の範囲とし、引き分けとしておくと良いでしょう。 優勝者には拍手をしてゲームを終了します。

ホワイトボード等に、1位になった子の名前を記録しておくと、次のレースへのモチベーションも高まります。


Hakkun-sprint14.png

次のレース

基本的に、はっくんスプリントは3,4回と何度もレースをします。 毎回違うオブジェクトをお題として出します。 やはり、回数を重ねる毎に少しづつ難しいオブジェクトを選ぶのが良いでしょう。


次のレースをはじめるまえに、一回全員のプログラムをリセットしておくと後片付けが楽です。

Hakkun-sprint15.png

これを忘れると泣きながら、皆が作ったオブジェクトを壊してまわらないといけないです。

(はっくんを移動させた後では、リセットは効かないから。)

次に、はっくんを練習会場に移動するのですが、ここでも、はっくんを競技会場へつれていったコマンドが使えます。

/teacher gather 7

このコマンドを練習会場に移動してから実行するとスムーズに移動ができます。

そのあと、次のオブジェクトを発表し、練習時間を伝えます。

はっくんスプリントのポイント

「いかに教えないようにするのか?」ということを考えながらワークを進めてください。

勝つためのプログラムの作り方、考えかたはいくらでも教えることができます。

だけど、このワークでは勝つことが重要なのではなく、どうやったら効率的にブロックを置くことができるのか、また繰り返しがどのように動いているのかを失敗をしながら学んでいくことが狙いです。

また、それを学ぶのに適したワークにもなっています。

教えてしまうことでその学びの機会を失ってしまい、それを次のワークで学ぶ必要がでてくるのでハードルが高くなってしまいます。

そのため、負けても次で挽回できるようにテンポよく次のレースにつなげていくのがポイントです。

それから、ブロックで簡単にプログラムを組み立てることができるようになってきてる子は、JavaScriptを勧めてください。 使うコードは、 crab.forward(), crab.back(), crab.stepLeft(), crab.stepRight(), crab.place(), crab.placeUp(), crab.placeDown() それから for 文なので覚えることは少ないです。

Navigation menu

Internal error

Jump to: navigation, search
[b1de283ce6d1b167a2e345e4] 2024-03-28 09:46:16: Fatal exception of type "Error"

Navigation menu