ラズベリーパイ3でスクラッチとマイクラを連携してみよう

ラズベリーパイには、ラズパイ専用に作られたマインクラフト・パイがインストールされています。PC版のマイクラは3000円で購入する必要がありますが、マインクラフト・パイは無料で遊べます。

しかし、PC版のマイクラにある全てのモードはありません。マインクラフト・パイで遊べるのは敵が出現しない「クリエイテブモード」のみとなります。まさに、プログラミングで建物の建設を自動化するのにピッタリの環境ですね。

今回使用したのは「Raspberry PI 3 」です。ラズパイ初心者の人におすすめなのは、『Raspberry Pi ではじめるどきどきプログラミング 増補改訂第2版』。Raspberry PI 3にも対応していますよ。スクラッチとマインクラフト・パイを連携する方法やコードの意味も丁寧に解説してくれているとても良い本です!

準備するもの

  • Raspberry PI 3 (これ以前のモデルでもOK)
  • ACアダプター
  • キーボード
  • マウス
  • モニター

Raspberry PI 3 model b+をセットアップしよう

Raspberry PI 3は無線LAN対応なので、LANケーブルは不要です!コードが1つ減るのが嬉しいですね。

OSのセットアップ方法は、『Raspberry Pi ではじめるどきどきプログラミング 増補改訂第2版』で分かりやすく解説されています。こちらの記事にもOSのセットアップ方法を紹介しています。

Raspbian(ラズビアン)が起動しました!

スクラッチをアップデートしよう

Scratch2で最初に遊ぶときは、ターミナルからアップデートします。画面左上のアイコン「LX Terminal」を開きましょう。

キーボードで以下のように入力してEnterを押すとスクラッチがアップデートされます。


「ラズベリーのアイコン」→「プログラミング」→「Scratch2」をクリックしてみましょう。

スクラッチを日本語に設定しよう

スクラッチの画面が開きますが、言語が英語になっています。言語を日本語に変更しましょう。

画面左上の地球儀のアイコンをクリックしましょう。

「日本語」を選択します。

ブロックの言語が日本語になりました!

マインクラフト・パイを起動してみよう

マインクラフト・パイは、「ゲーム」→「Minecraft Pi」をクリックすると起動します。

「Start Game」をクリック

これでマイクラで遊べます!PC版マイクラのクリエイティブモードと同じようにプレイ出来ますよ。操作の仕方は、ググると詳しく紹介されていますが、NJ CKUCKERさんの記事が分かりやすいです。『Raspberry Pi ではじめるどきどきプログラミング 増補改訂第2版』にもマイクラの基本的な遊び方が紹介されています。スクラッチを連携する前に、マイクラで遊んでみることをおすすめします。

Scratch2MCPIをインストールしよう

スクラッチ2とマインクラフト・パイを連携するソフトウエア、「Scratch2MCPI」をインストールします。「LX Terminal」に以下のコマンドを入力してEnterを押しましょう。

インストールしてからスクラッチ2とマインクラフト・パイを連携する過程はRaspberry Pi ではじめるどきどきプログラミング 増補改訂第2版』に紹介されていますが、Fab Shopさんの記事が分かりやすく解説されています。

縦棒はどうやって入力するの?

こちらの縦棒ですが、プログラミング言語に携わっていないとキーボードでどのように入力したら良いのか戸惑いますよね。こちらは、Shift を押しながら「¥」を押すと出てきますよ!

Scratch2MCPIのインストールが出来ない場合

Wi-Fiの接続状況を確認する

もし、インストールできないときはネットに繋がっているか確認してみて下さい。Raspberry PI 3 model b+は無線LANでネットに接続できます。(→Wi-Fiを接続する方法はこちらをクリック!)

Raspberry PI 3には無線LANが内蔵されていますが、なんらかの条件で無線LANが認識されない場合があります。そんなときは、無線LANのUSBアダプターを取り付けてみて下さい。筆者は、これで無線LANが使えるようになりました。(4日ほど原因が分からず悩みました)

有線でネットに接続する

無線LANが使えないときは、LANケーブルでラズパイとルーターを繋ぐとネットに接続できます。

Scratch2MCPIをインストールした後はLANケーブルを抜いて大丈夫です!

Scratch2でマインクラフト・パイをプログラミングしてみよう

プレイヤーをScratch2で移動させる方法

プレイヤーの位置は、(mcpix,mcpiy,mcpiz)と変数ブロックを使って3つの座標で表されます。例えば、3つの変数を全て0にしてスタート🚩をクリックすると、マイクラの世界の(0,0,0)の位置にプレイヤーが移動します。

最後の制御ブロック「setPos▼を送る」はScratch2のプログラムをマインクラフト・パイに送るときに使用するブロックです。

マイクラの世界をScratch2で整地する方法

これからプログラミングをするので、海や山・木などは邪魔ですよね!Scratch2でリセットをかけて整地しましょう。スタート🚩の下に制御の「reset▼を送る」ブロックを繋げてスタートをクリックします。

マイクラの世界がリセットされました!「reset the world」というメッセージが表示されます。

Scratch2でマイクラにブロックを置く方法

プレイヤーが居る位置と同じ場所にブロックが置かれます。ブロックを置くには、制御にある「setBlock▼を送る」ブロックを使います。どのブロックを置くかは、変数にはる「block Typed▼を()にする」ブロックを使います。マインクラフト・パイのブロックにはブロックIDが割り振られています。「block Typed▼を()にする」の()の数字でブロックの種類を指定します。

ブロックID「1」は、石ブロックになります!プレイヤーと同じ位置に石ブロックが1個置かれるので、キーボードの「s」でプレイヤーの位置を後ろにずらしたりマウスでプレイヤーの目線を変えると石ブロックが置かれたのを確認することが出来ます。

ブロックを10個積み上げるには?

ブロックを1個積み上げるのに「setBlock▼を送る」ブロックが1つ必要なので、ループを使って10回繰り返す命令を出します。「制御」にある「10回繰り返す」を追加しましょう。

スタート🚩をクリックすると、一瞬で塔が完成します!

ブロックで壁を作ったり・・

剣でブロックを壊したところに他のブロックを出現させるプログラムが『Raspberry Pi ではじめるどきどきプログラミング 増補改訂第2版』で紹介されています。

付属のプログラムでダイヤブロックの球体を作ってみた

Scratch2MCPIをインストールすると、スクラッチのサンプルプロジェクトに球体を作るプロジェクト(mcpi_sphere)が保存されます。スクリプトを実行すると、石ブロックで球体を作成し始めます。

難しいプログラムですが、一緒に見ていた娘が「ガラスブロックで作ったら綺麗じゃない?」と言うので実験してみました。

「block Typed▼を1(石ブロック)にする」ブロックの数値を「57(ガラスブロック)」に変更して実行してみます。

おおお・・っっ!!

これは良いですね~^^

小学生でもここまで作れる!

いつもwiiUでマイクラをしている息子(小4)が興味を持ったようで、マインクラフト・パイに挑戦してみました。去年からスクラッチでちょこちょこゲームを作ったりもしています。「ビルの建設を自動化したい!」と言って作成したプログラムがこちら。

屋根はありませんが、なかなか見事です!「屋根を作るプログラムも作ろう~」と楽しそうに遊んでいました。

スクラッチでプログラミングするのとは違って、スプライトに大好きなマイクラのブロックを使えます。ラズパイで子どもにマインクラフト・パイをただ遊ばせるなんてもったいない!ぜひスクラッチと連携して、プログラミングの勉強をしてもらいましょう。 ( ̄m ̄* )

後日、床と天井も完成しました!