【Minecraftプログラミング】は、「Microsoft MakeCode for Minecraft」を利用してマインクラフトの世界でプログラミングを学ぶ連載です。毎週月~金曜日更新。

Minecraftプログラミング レッスン49プレイヤーにアイテムを渡す

参加者の装備を変更するには

対戦バトル参加者の装備を統一する

対戦バトルを始める前に、参加するプレイヤーの装備を統一して不公平がないようにしておきます。このレッスンでは、マルチプレイでワールドを訪れているプレイヤーの持ち物を一度すべて消去し、全員に同じ[木の剣]と[ダイヤモンドの胸当て]が配られるようにプログラミングします。

プレイヤーを別の場所に移動して闘技場を作っておく

闘技場の上にテレポートした後に武器と防具を渡す

1コマンドを設定する

HINT 全員の装備を解除する

マインクラフトのコマンド「clear」を使うと、プレイヤーの[持ち物]にあるアイテムをすべて消去します。「@a」はすべてのプレイヤーを意味するパラメーターです。一度消去されたアイテムは復旧できないので、マルチプレイに参加するプレイヤーにはあらかじめ伝えておきましょう。

2全員にアイテムを渡す

HINT [生き物]カテゴリーからブロックを選ぶ

ほかのプレイヤーにアイテムを配布するためのブロックは、[生き物]カテゴリーに格納されています。このカテゴリーには自分以外のプレイヤーや、動物やモンスターなどを対象にするブロックがまとめられています。

間違った場合は?


[次の対象[いちばん近いプレーヤー(@p)]ターゲットに を[1]つ渡す]ブロックは、すぐ下にある[[ブロック]が位置[[~0][~0][~0]]に見つかったらコマンド["say Hi!"]を実行する]ブロックと形がよく似ています。間違って選んでしまった場合は、プログラミングエリアからブロックを削除して、正しいブロックを選び直しましょう。

HINT エンティティとは

エンティティとは破壊や構築以外の操作で座標が変わってしまうブロック全般を指します。プレイヤーや動物、モンスターなど自身が動くものや、トロッコやボートなど動力や操作によって動くものもエンティティと総称されます。また、チェストや剣、ツルハシなどの道具もエンティティに含まれます。

3ブロックを木の剣に変更する

HINT アイテムも指定できる

[次の対象[いちばん近いプレーヤー(@p)]ターゲットに を[1]つ渡す]ブロックは、初期状態ではブロックが組み込まれていますが、[ブロック]カテゴリーにある[アイテム]ブロックを組み込むとアイテムを渡せるようになります。ほかにも[アイテム]ブロックが組み込めるブロックがいくつかあるので、置き換えられそうな部分は試してみましょう。

HINT 鉄製品はバラバラに並んでいる

アイテムは基本的に原料となる素材の順番で並んでいます。ただし、[鉄の剣]や[鉄のツルハシ]など鉄を原料とするアイテムはバラバラになっています。鉄製品を探したいときは、検索ボックスをクリックして「鉄」のキーワードで鉄製品を探しましょう。

4[ダイヤモンドの胸当て]を配布する

HINT ダメージが少ない組み合わせにしよう

対戦バトルでは攻撃力が高い武器を装備すると、お互いが受けるダメージが多くなって死亡しやすくなります。このプログラムはある程度白熱したバトルにするため、攻撃力が低い[木の剣]と防御力が高い[ダイヤモンドの胸当て]の組み合わせを選びました。プログラムが完成したら、ほかの武器や防具の組み合わせも試してみましょう。

テクニック アイテムは最大2304個受け取れる

プレイヤーの[持ち物]は36スロットあり、何も持っていないときは36種類のアイテムを受け取れます。アイテムやブロックの種類によって1つのスロットに入れられる分量は決まっており、[草ブロック]や[丸石]など固体のブロックであれば64個入れられます。

手順2で設定したアイテムを渡すブロックを使うと、[持ち物]の上限を超えたアイテムの数を指定できますが、2304個以上は処理されないことに注意しましょう。