こんにちは! けい(Twitter)です。
今回は日本語版キーボード一体型のRaspberry Pi 400を使って、マイクラを遊んでいきたいと思います。
また、Pythonでのプログラミングも可能なのでそちらも少し紹介していきたいと思います。
目次
Raspberry Pi 400の準備
開封からセットアップまで
Raspberry Pi 400を購入したら、ラズパイ本体にOSをインストールする必要があります。
そちらは前回の記事にまとめているので、参考にしてみてください。
ラズパイ専用Minecraft「Pi Edition」
マイクラには、ラズパイ専用に開発された「Pi Edition」というモデルが存在します。
要するに、ラズパイで動作するプログラミング教育向けに開発されたマインクラフトです。
今回は、こちらの「Pi Edition」をラズパイ400で遊んでいきます。
普通のPCで動作する「Java版」のマイクラも一応ラズパイで動作させることが出来ますが、そちらは有料になるので今回は紹介しません。
マイクラのインストール
Raspberry Pi OSがインストールされていることを前提として進めていきます。
「設定」→「Recommended Software」の順にクリックします。
「Games」から「Minecraft」を選択し、「Apply」をクリックします。
これでインストールが始まります。
ラズパイでマイクラを遊んでみる
「ゲーム」にMinecraftが追加されているので、クリックして起動させます。
v0.1.1alphaというバージョンのMinecraft「Pi Edition」が起動します。
新しいワールドを作って遊んでみます。
クリエイティブモードのマイクラとして遊ぶことができます。
クラフトはできませんが、 無料で遊べてマイクラの世界を楽しむにはいいですね。
Pythonでマイクラの世界をハックする
マインクラフトをPythonで操作する方法についてはこちらのサイトを参考にしています。
tnt爆弾を自分のいる座標に設置する
それでは、Pythonでマイクラの世界をハックする方法についてご紹介していきます。
マイクラを開いたまま、「Thonny Python IDE」を開きます。
次のコードを適当な名前のPythonファイル「tnt.py」として保存し、実行します。
from mcpi import minecraft
import time
mc = minecraft.Minecraft.create()
x,y,z = mc.player.getPos()
tnt = 46
mc.setBlock(x,y,z,tnt,1)
実行すると、自分のいる座標にTNTが出現します。
範囲指定でブロックを設置する
続いて、座標の範囲を指定して複数のブロックを設置してみましょう。
先ほどはある座標1点を指定しましたが、今回は2点の座標を指定します。
from mcpi import minecraft
import time
mc = minecraft.Minecraft.create()
x,y,z = mc.player.getPos()
tnt = 46
mc.setBlocks(x,y,z,x+5,y+5,z+5,tnt,1)
(x,y,z)が1点目の座標で、(x+5,y+5,z+5)が2点目の座標です。
この2点を直方体の対角の頂点として、直方体のブロックを生成します。
5×5×5の合計125個のブロックを設置できました。
繰り返し文を使う
続いて、繰り返し文を使って「一定時間が経過すると現時点の座標にブロックを生成する」プログラムを作成していきましょう。
from mcpi import minecraft
import time
mc = minecraft.Minecraft.create()
tnt = 46
while True:
x,y,z = mc.player.getPos()
mc.setBlock(x,y,z,tnt,1)
time.sleep(1)
while文は、無限に中身の処理を繰り返します。
whileの中で以下の処理を行っています。
- 現在地の座標(x,y,z)の取得
- (x,y,z)にブロックを設置
- 1秒間一時停止
実行すると、自分が通った道にブロックが生成されていることが確認できます。
最後に
今回はRaspberry Pi 400でマイクラを遊び、Pythonでマイクラを操作してみました。
無料版ということもあってできることは限られますが、Pythonの学習にはぴったりですね。
ラズパイをお持ちの方は、ぜひ一度マイクラをPythonで動かして遊んでみて下さい。
プログラムでゲームを動かすのは結構楽しいです。
動画でもまとめているのでぜひ。
現在では開発が中止されていますが、下記の特徴があります。
Minecraft wiki参照