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

InfoPath & SQL Server !

Posts Tagged ‘CodeBuilder

新しいマインクラフトのエデュケーション版でプログラミング学習環境となる「コードビルダー」を管理する「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:相対的な位置の指定について、ユーザーエージェントからではなくプレイヤーからの相対的な位置、に書き直しました。こちらも記事を読まれた方の指摘によるものです。ありがとうございます。