ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Posts Tagged ‘Minecraft

Minecraft Education 版の新機能(3) – ミュートボタン

leave a comment »

教育版マインクラフトの機能拡張がすすんでいる。新しいバージョンではミュートボタンが搭載された。このミュート機能は、コマンドを使ったときのレスポンス表示をミュートする機能だ。サウンドのミュートではない。マインクラフトではコマンド入力によって世界を操作すると、画面に実行した操作のレスポンスが表示される。たとえば /weather thunder コマンドで天候を雷雨に変更すると、画面にレスポンスが表示される。

MinecraftEducation_007_mid_640

コマンド入力モードでは実行したコマンドの結果が履歴で表示されている。

MinecraftEducation_008_mid_640

コマンド入力モードで右上にある「ミュート」スライダを右にして「オン」にすると、コマンド実行の結果を画面に表示しなくなる。雷雨になったマインクラフトの世界を /weather clear コマンドで晴れにしてみよう。

MinecraftEducation_009_mid_640

コマンドを実行して天気が晴れになろうとしている。しかし実行結果は画面に表示されていない。

MinecraftEducation_010_mid_640

コマンド入力を多用したとき、画面が実行レスポンスの履歴で邪魔になることがある。「ミュート」機能をオンにすると、レスポンスが表示されないので操作の邪魔にならずにすむだろう。

広告

Minecraft Education 版の新機能(2) – コマンド入力ボタン

leave a comment »

マインクラフトにはコマンド入力モードがあり、教育版でなくてもコマンドを使ってマインクラフトの世界をコントロールすることができる。プログラミングの基本はコマンド入力だといってもいいが、小学生にとってはキーボードからのコマンド入力は敷居が高い。そこで基本的ないくつかのコマンドをマウスでクリックして実行できるボタンが搭載された。

MinecraftEducation_004_mid_640

画面の下にあるコマンド入力テキストボックスの左にスラッシュ「/」のボタンがある。このボタンをクリックすると「世界のスポー地点を設定する」、「テレポート」、「時間」、「天候」のメニューが表示され、これら基本的なコマンドをマウスクリックだけで実行できる。

MinecraftEducation_005_mid_640

たとえば「天候」のボタンをクリックすると、コマンドラインに「/weather」のコマンドが自動的に書かれ、次のメニュー「晴れ」、「雨」、「雷雨」を選ぶことができる。

MinecraftEducation_006_mid_640

限られたコマンドだが、このボタンを使うことによってコマンドの使い方や記述方法を学ぶことができる。子供たちにはボタンがあることさえ伝えておけば、あとは自分でやってみて身に着けることができるだろう。まさに、体験的学習を明確に意識した実装だ。

Minecraft Education 版の新機能(1) – 座標を画面に表示する

leave a comment »

マインクラフトは小学生を中心に大人気のゲームアプリだが、共同学習とプログラミング学習の機能を加えた学校教育向けのエデュケーション版「Minecraft Education」がある。このエデュケーション版は実際に授業で活用した教員のフィードバックにより改良がすすんでおり、ますます使いやすくなっている。その一つが画面に座標を表示する機能だ。

ゲームとして遊ぶには座標を特別意識する必要はない。しかしプログラミングをしてエージェントを動かし、ブロックを配置するなどの場合には座標の概念が欠かせない。マインクラフトの世界で自分がどこにいて、どこに何をしたいのかを座標で与えなければならないからだ。

MinecraftEducation_001_mid_640

Minecraft Education を起動したら「遊ぶ」のボタンをクリックして「世界」のタブで新しい世界を作ろう。新しい世界を作りときに「ゲーム設定」をするが、ここにある「チート」と「常に昼間」などのスライドボタンに加えて、新しいボタン「座標を表示」と「教室の設定を表示」のボタンがある。

MinecraftEducation_002_mid_640

このスライドスイッチは「チートの実行」と「常に昼間」を右にスライドしてオンにしておくことがプログラミングなどの実習時には望ましい。さらにここで新しくできた「座標を表示」のスライドを右にしてオンにしてみよう。

MinecraftEducation_003_mid_640

「座標を表示」にしたプレイ画面がこれだ。画面の左上に自分の座標が表示されていることがわかるだろう。これで自分の位置を確かめながらマインクラフトの世界を歩くことができる。プログラミング時に座標を使う場合もこれでわかりやすい。座標がわからなければ、コードによってブロックを配置しても、いったいどこに出現したか探し回らなければならないこともあったが、これでわかりやすくなった。

マインクラフトのコマンドブロックを使ったプログラミング学習の可能性

leave a comment »

コマンドブロックはユーザーがコマンドを入力し、レッドストーンの信号などによってコードを実行できるブロックだ。コマンドブロックを手に入れるには、コマンド入力で /give を使う。

Minecraft_Education_Edition_039_mid_640

コマンドブロックはワールドに配置して内部にコードを書くことができる。しかし、いわゆる PC 版ではコマンドブロックに書くことができるコードは複数行にわたるものを書けるようだが、現時点ではエデュケーション版で一つのブロックに書くことができるコードは一行だけだ。

Minecraft_Education_Edition_036_mid_640

複数のコードを連続して稼働させるには、必要なコード行数のコマンドブロックを用意し、レッドストーンでつなぐ方法がある。またこのとき、コードによっては実行に時間がかかるものもあるので、実行の順番を考えたいときはレッドストーンの間に反復装置を置いて信号を遅らせると確実だ。

Minecraft_Education_Edition_035_mid_640

ここでは「マインクラフトとプログラミング教育」の課題として設定した「レッドストーンのチャレンジ」をコマンドブロックで作っている。一定のエリアに拒否ブロックを敷き詰め、周囲をボーダーブロックで囲い、そのエリアの内部に端にレバーを立てた許可ブロックの列を24列作る一連のコマンドだ。

ボタンを押せばコマンドブロックが連続的に動作し、課題ワールドを自動的に作る。この一連の挙動は、プログラミング教育においては流れ図の「順次構造」のエクササイズでもある。

Minecraft_Education_Edition_037_mid_640

上から見るとこんな感じだ。

Minecraft_Education_Edition_038_mid_640

新しいマインクラフトのエデュケーション版でプログラミング学習環境となる「コードビルダー」を管理する「Code Connection for Minecraft」に接続するには /code コマンドでもいい。

leave a comment »

2017年5月2日に行われた「Learn what’s next.」で発表された新しいマインクラフトのエデュケーション版にはプログラミング教育のツールとなる機能が盛り込まれている。そのひとつが、プログラミングによって学習環境を整えることと学習者を管理することなどができる「コードビルダー」だ。そして「Code Connection for Minecraft」、日本語で「コードコネクション」と呼ばれるものは「コードビルダー」を管理するサービスだ。

コードビルダーを起動すると、次の画面になりクライアントからのアクセスをリッスンする状態になる。このとき、接続コマンドとして表示される文字列のうち、IP アドレスは「Code Connection for Minecraft」を起動したコンピュータの IP アドレスになっており、ポートはサービスが指定する。クライアントはこの IP アドレスとポート番号で接続する。

Minecraft_Education_Edition_028_mid_640

ちなみにこれと似たサービスに、前のエデュケーション版からあった「Classroom Mode for Minecraft」がある。これは「クラスルームモード」という学習環境を管理するサービスで、ネットワーク上のコンピュータで起動し、クライアントから IP アドレスで接続する形だ。この「Classroom Mode for Minecraft」ではリッスンするポート番号をランダムに生成し、起動するたびに違うポートになった。またサービスを起動したコンピュータ上でクライアントのマインクラフトを起動しても接続できない場合が多かった。しかし新しい「Code Connection for Minecraft」ではリッスンするポート番号は変わらないようだ。また同じコンピュータでクライアントを起動して接続することもできるように改善されている。

クライアントのマインクラフトから接続する場合は、コマンド入力ラインを表示して「Code Connection for Minecraft」で指定されたアドレスに /connect コマンドを入力する。このとき、「Code Connection for Minecraft」にはコマンドをコピーするボタンがあり、これをクリックしてもクリップボードにコマンドがコピーされるのだが、次のように /code コマンドを使うこともできる。

Minecraft_Education_Edition_029_mid_640

/code コマンドを使うときは IP アドレスもポート番号も指定する必要はない。このとき、あらかじめ「Code Connection for Minecraft」を起動していなくても、コンピュータに「Code Connection for Minecraft」がインストールされていれば自動的に起動される。また、事前に「Code Connection for Minecraft」を起動していれば、クライアントのマインクラフトでは「コード接続の起動を試みています」となり「接続しました」のメッセージが出ないこともあるが、この時点ですでに「Code Connection for Minecraft」と接続ができている。

Minecraft_Education_Edition_030_mid_640

「Code Connection for Minecraft」を見ると次のようにあっており「MakeCode」や「Scratch」、「Tynker」のメニューが出ている。ところでここで、接続したクライアントの IP アドレスを見ると、対象のコンピュータではなくて 127.0.0.1 になっていることがわかる。これはループバックアドレスで接続されているということだ。

Minecraft_Education_Edition_031_mid_640

試しに簡単なコードを「MakeCode」で書き、実行してみる。

Minecraft_Education_Edition_034_mid_640

10 × 10 × 10 のブロックが生成した。

Minecraft_Education_Edition_032_mid_640

マインクラフトのエデュケーション版に実装されたプログラミング学習環境「コードビルダー」を制御する「コードコネクション」の概要

leave a comment »

2017年5月2日に行われた「Learn what’s next.」で、マインクラフトのエデュケーション版に「コードビルダー」が実装されることが発表された。この「コードビルダー」を制御するものが「コードコネクション」だ。「コードコネクション」は、マインクラフトのエデュケーション版サイトから「CODE BUILDER BETA」をダウンロードすると得ることができる。

Minecraft_Education_Edition_002

「CODE BUILDER BETA」をダウンロードして Zip ファイルを解凍すると、フォルダの中に「codeconnection.msi」のファイルがある。これをインストールする。

Minecraft_Education_Edition_020

「codeconnection.msi」をインストールして起動すると、次のような画面が表示される。この状態で、「codeconnection.msi」を実行しているコンピュータがコードコネクションのサーバーとしての役割を担うようになった。

Minecraft_Education_Edition_004_mid_640

この状態でマインクラフトのエデュケーション版を実行する。実行したら新しい世界を作り、まずゲームの世界に入ってから「Enter」キーを押してコマンド入力をする。コマンドは、Code Connection で表示されたものを入力するが、Code Connection の画面のコマンド右にあるアイコンをクリックするとコマンド列がコピーされるので、その場合はペーストするだけでよい。

Minecraft_Education_Edition_021_mid_640

サーバーに接続できると「サーバーの接続を確立しました」のメッセージが表示される。

Minecraft_Education_Edition_022_mid_640

このとき、Code Connection は次のようになっている。

Minecraft_Education_Edition_011_mid_640

「MakeCode」と「Scratch」そして「Tynker」のメニューがある。まず「MakeCode」をやってみよう。MakeCode」はマイクロソフトの学習環境だ。「MakeCode」のボタンを押すと、次のように MakeCode のモジュールがロードされる。

Minecraft_Education_Edition_013_mid_640

MakeCode が呼び出されると次のような画面になる。ブロック型のプログラミング環境だ。

Minecraft_Education_Edition_014_mid_640

このとき、Minecraft 側では次のようになっている。このとき、ユーザーが「エージェント」になったのだと思ったがそうではなく、ユーザーとエージェントが重なっているからこう見えた。

Minecraft_Education_Edition_023_mid_640

実際はこのように、ユーザー自身とは別のエージェントが出現している。

Minecraft_Education_Edition_027_mid_640

動作を確認するために、次のような簡単なコードを書く。ブロックなので「書く」というより「組み立てる」というかんじだろう。

Minecraft_Education_Edition_024_mid_640

このコードは、コマンドで「run」と入力されたときに動くものであり、「~0」というのはプレイヤーからみた相対的な位置を示している。プレイヤーの位置から、X、Y、Z軸に対して 100 × 100 × 100 の位置まで、ブロックで埋めるというコードだ。

Minecraft 側で実行しよう。

Minecraft_Education_Edition_026_mid_640

すると、プレイヤーの位置から巨大なブロックが積み上げられることがわかる。

Minecraft_Education_Edition_025_mid_640

これまででも Minecraft はコマンドの利用によりブロックを配置しユーザーをコントロールすることもできたが、あくまでも一行単位のコマンドしか実行できなかった。しかし新しいマインクラフトのエデュケーション版では、このようにプログラミングができる環境が整った。

これによりマインクラフトは本格的なプログラミング教育のプラットフォームになったといえる。

追記1:ユーザー自身がエージェントになったかのような勘違いをしていましたが、ご指摘により書き直しました。ご指摘ありがとうございます。
追記2:相対的な位置の指定について、ユーザーエージェントからではなくプレイヤーからの相対的な位置、に書き直しました。こちらも記事を読まれた方の指摘によるものです。ありがとうございます。

マインクラフトのエデュケーション版にプログラミング機能「コードビルダー」が実装された。マインクラフトは本格的なプログラミング教育のプラットフォームになった。

leave a comment »

2017年5月2日にニューヨークで行われたマイクロソフトの教育イベント「Learn what’s next.」でマインクラフトの新しいバージョンと新機能の概要が発表された。マインクラフトには「コードビルダー」が実装され、マインクラフトは本格的なプログラミング教育のプラットフォームになった。

Minecraft_Education_Edition_008

Microsoft Learn what’s next.
https://blogs.microsoft.com/blog/2017/04/12/save-date-learn-whats-next/#sm.001lojei91eiodt7v6o2qn6lbsw18

この新しいマインクラフトのエデュケーション版の大きな特徴は「コードビルダー」と呼ばれるプログラミング機能が実装されたことだ。

マインクラフトのエデュケーション版では、コマンドによって学習者を操作し、ブロックを世界に配置して環境を整えることができた。しかしそれは、コマンドウィンドウからの直接入力であり、1行ずつ実行することしかできなかった。しかし新しいマインクラフトのエデュケーション版では、プログラミングによってプレイヤーを動かし、世界を作っていくことができるようになる。

詳細は Minecraft Education Edition の Web ページでわかる。

Minecraft Education Edition
https://education.minecraft.net/

Minecraft_Education_Edition_009

新しいバージョンを利用するには、Code Builder Beta をダウンロードする。ダウンロードの直リンクは次のページだ。

Minecraft Education Edition
https://education.minecraft.net/get-started/download/

Minecraft_Education_Edition_002

「コードビルダー」の機能によってマインクラフトは本格的なプログラミング教育のプラットフォームになった、と、まずは言うことができるが、もしかしたらこれは初めの一歩であり、この先に壮大なプログラミング世界の大革命がやってくる予感がする。体が震えるほどの期待に満ちている。マインクラフトには学校教育者だけでなく、職業プログラマーも要注目だ。