【作り方解説】教育版マインクラフトのメイクコード(MakeCode)とコマンドを組合せて、破壊力抜群の波動砲を作ってみた!

教育版マイクラのメイクコード(MakeCode)とコマンドを組合せて、破壊力抜群の波動砲を作ってみた!
メイクコード(MakeCode)を使うと、コマンドブロックを使った場合よりも簡単にやりたいことを実現できるケースもあります。Pythonのコードについても本ページに記載しました。

MakeCodeプログラミングとコマンドで、破壊力抜群の波動砲を作る方法!

メイクコード(MakeCode)のソース

 

プレイヤーが波動砲を打つコード
  1. アイテム(鉄のシャベル)を使ったときに実行される
  2. 変数「カウンター」の値を0から1ずつ増やしながら、処理3を41回繰り返す
  3. エンダークリスタルを召喚し、爆発させる。召喚位置はプレイヤーの目線前方の10+カウンター先になる。

 

エージェントが波動砲を打つコード
  1. アイテム(鉄のつるはし)を使ったときに実行される
  2. 変数「カウンター」の値を0から1ずつ増やしながら、処理3を41回繰り返す
  3. エンダークリスタルを召喚し、爆発させる。召喚位置はエージェントの目線前方の10+カウンター先になる。

 

エージェントを左に回転させるコード
  1. アイテム(ダイヤモンド)を使ったときに実行される
  2. エージェントが左に90度回転する。

 

エージェントを自分の位置にテレポートさせるコード
  1. アイテム(リンゴ)を使ったときに実行される
  2. エージェントがプレイヤーの位置にテレポートする。
波動砲のメイクコード内で使用したコマンド

・爆発する状態のエンダークリスタルを召喚するコマンド。
/summon ender_crystal ^^^ minecraft:crystal_explode

石レンガで方位を確認する

石レンガの模様を確認して下さい。T時模様の縦棒方向が南です。

メイクコード(MakeCode)での座標について

 

:ワールド座標(絶対座標)

ワールドの原点(0, 0, 0)からの各方向への距離を表す。

 

:カメラ座標(プレイヤー座標)

メイクコード(MakeCode)にしかない座標表記。プレイヤーの足元を起点として、プレイヤーが向いている方向への相対距離を表す。ローカル座標と異なり、プレイヤーが下方向を見ていても、地面を示すことはない。

  • right ::プレイヤーの右側はプラス、左側はマイナス
  • above:プレイヤーの真上はプラス、真下はマイナス
  • in front:プレイヤーの向いている方向はプラス、後ろはマイナス

 

:相対座標

プレイヤーの足元を起点として、各方角への相対距離を表す。

  • x:東西方向、東はプラス、西はマイナス
  • y:上下方向、上はプラス、下はマイナス
  • z:南北方向、南はプラス、北はマイナス

 

:ローカル座標

プレイヤーの見ている方向への相対距離を表す。カメラ座標に似ているが、下方向を見ている場合は、地面の場所を示す。地面に対して水平方向を見ていれば、カメラ座標と同じ場所を示す(ただし、左右はカメラ座標とプラスとマイナスが逆)。

  • x:プレイヤーが見ている方向から左右、左はプラス、右はマイナス
  • y:プレイヤーが見ている方向から上下、上はプラス、下はマイナス
  • z:プレイヤーが見ている方向から前後、前はプラス、後はマイナス

メイクコード(MakeCode)のソース:Python

# アイテム(鉄のシャベル)を使ったときに実行される関数

def on_item_interacted_iron_shovel():

    # 41回繰り返す

    for カウンター in range(41):

        # エンダークリスタルを召喚し、爆発させる。召喚位置はプレイヤーから10+カウンター先になる。

        mobs.execute(mobs.target(LOCAL_PLAYER),

            pos_local(0, 0, 10 + カウンター),

            “summon ender_crystal ^^^ minecraft:crystal_explode”)

 

player.on_item_interacted(IRON_SHOVEL, on_item_interacted_iron_shovel)

 

# アイテム(鉄のつるはし)を使ったときに実行される関数

def on_item_interacted_iron_pickaxe():

    # 41回繰り返す

    for カウンター2 in range(41):

        # エンダークリスタルを召喚し、爆発させる。召喚位置はエージェント空10+カウンター先になる。

        mobs.execute(mobs.target(MY_AGENT),

            pos_local(0, 0, 10 + カウンター2),

            “summon ender_crystal ^^^ minecraft:crystal_explode”)

 

player.on_item_interacted(IRON_PICKAXE, on_item_interacted_iron_pickaxe)

 

# アイテム(ダイヤモンド)を使ったときに実行される関数

def on_item_interacted_diamond():

    # エージェントが左に回転する

    agent.turn(LEFT_TURN)

 

player.on_item_interacted(DIAMOND, on_item_interacted_diamond)

 

# アイテム(リンゴ)を使ったときに実行される関数

def on_item_interacted_apple():

    # エージェントがプレイヤーの位置にテレポートする

    agent.teleport_to_player()

 

player.on_item_interacted(APPLE, on_item_interacted_apple)

教育版マインクラフト(Minecraft: Education Edition)とは?

教育版マインクラフトは、教育のために特別に設計されたMinecraftのバージョンです。学生たちにクリエイティブな問題解決やコラボレーション、コミュニケーションのスキルを身につけさせることを目的としています。さらに、MakeCodeやPythonなどのプログラミングも学べることが特徴です。教師向けのツールや教材、教育コンテンツが追加されており、学習環境に適した機能が提供されています。

また、2021年6月より個人利用も可能になりました。