【マイクラ×Python】迷子防止に役立つ!目印になるタワーを建てよう

マインクラフトで広い世界を冒険ぼうけんしていると、知らない間に迷子まいごになってしまった…ということ、ありませんか?

目印になるタワーを作りたいけど、自分で作ると高いところで落ちる危険がありますよね。

今回は、Pythonで「自動タワー作りプログラム」を作ってみましょう!

 

スポンサーリンク

マインクラフトとPythonの連携について

マインクラフトをPythonで操作するためには、特定の環境かんきょうが必要です。

セットアップ方法は、前回の記事でくわしく説明しているので、まだ準備ができていない人はそちらをチェックしてみてください。

 

このプログラムでやること

高さ50ブロックのタワー

今回作成するプログラムでは、プレイヤーの近くに高さ50ブロックのタワーを立てます。

タワーにはガラスブロックとシーランタンを使うので、夜でも目立つし遠くからでも見つけやすい目印になります。

 

完成したソースコード

まずは、完成したプログラムを見てみましょう。

import mcpi.minecraft as minecraft

# Minecraftに接続
mc = minecraft.Minecraft.create()

# プレイヤーの座標を取得し、変数xyzに代入
x, y, z = mc.player.getPos()

# タワーの位置をプレイヤーから少し横にずらす
x += 5

# タワーを作成
for _ in range(25):
    mc.setBlock(x, y, z, 95, 3) # ガラスブロック
    mc.setBlock(x, y + 1, z, 169) # シーランタン
    y += 2 # 次の高さを計算

 

プログラムの説明

ガラスブロックとシーランタンを順番に置く処理を25回くり返して、高さ50ブロックのタワーを作っています。

for文で同じことをくり返す

Python for文

Pythonでは、「同じことを何回もくり返したいとき」に for 文を使います

for 変数 in イテラブル:
    くり返したい処理

for 文では、最初の行の次に「くり返したい処理」を書き、この処理の前には、半角スペースを4つ入れます。

関連記事【子ども向け】プログラミングの基本構造とは? – 順次、分岐、反復について学ぼう!

 

イテラブルってなに?

イテラブルとは、「ひとつずつ順番にデータを取り出せるもの」のことです。

リストや文字列、range() などがあり、for文を使うとデータを順番に取り出して、1つずつ使うことができます。

たとえば、for i in range(5) と書くと、「5回、同じ処理をくり返す」という意味になります。range(5) は「0から4までの数字を1つずつ取り出す」という役割があり、計5回のくり返しになります。

  • 1回目は i = 0
  • 2回目は i = 1
  • 3回目は i = 2
  • 4回目は i = 3
  • 5回目は i = 4

このように、for 文の中で使う i に数字が順に入っていきます。

今回のタワー作りでは、for _ in range(25) と書いています。この _ という記号は、「変数は使わないけれど、回数だけくり返したい」というときに使います。Scratchでいう「25回くり返す」ブロックと同じような動きです。

 

ブロックを置く

ガラスとシーランタンを置く

mc.setBlock(x, y, z, 95, 3)   # ガラスブロック
mc.setBlock(x, y + 1, z, 169) # シーランタン

mc.setBlock() はマインクラフトの中にブロックを置く命令です。ブロックは空色のガラス(95, 3)とシーランタン(169)を指定しています。

シーランタンはガラスブロックの上に置くため、y + 1 の高さに配置します。

 

ブロックを置く高さを計算

ブロックが2つずつ順番に上へ積み上がる

y += 2 の部分は、次のブロックを置く高さを計算しています。

たとえば:

  • 1回目は y が 0 と 1 の高さ
  • 2回目は y が 2 と 3 の高さ
  • 3回目は y が 4 と 5 の高さ

このように、ブロックが2つずつ順番に上へ積み上がっていきます

 

実行してみよう!

ガラスとシーランタンでできたタワー

プログラムが完成したら「tower.py」という名前でファイルを保存し、実行してみましょう。

プレイヤーの少し横にガラスとシーランタンでできたタワーが現れるはずです。夜や遠くからでも光って見えるので、目印にぴったりです。

 

まとめ

ガラスとシーランタンのタワーを作るプログラム

今回Python使っマインクラフト目立つタワー自動作るプログラム紹介しょうかいまし

このプログラムを使えば、自動で光るタワーができ、迷子になる心配が少なくなりますね!

最後に、Pythonのくり返し処理(for文)の使い方を確認しておきましょう。

for 変数 in イテラブル:
    くり返したい処理

たとえば、for i in range(10) とすると、10回くり返し、変数 i は0から9まで変化します。

 

タイトルとURLをコピーしました