この記事は一人でマイクラプログラミング Advent Calendar 202018日目の記事です。
この記事ではマインクラフトとコードコネクションを用いて、プログラミングによってクリスマスツリーを生やす方法を紹介します。マインクラフトでプログラミングができるようになる環境構築については過去記事を参考にしてください。
コードコネクションを開き、新しいプロジェクトを作ります。適当に名前を付けましょう。私はchristmas_tree
という名前にしました。
プログラムと実行例
原木に近くないと葉っぱが消えてしまうという仕様上、プログラムはかなり複雑になりました。クリスマスツリーのような形の木ができます。
このxmastree
コマンドtrunk_height
とleaf_height
の二つの引数を取ります。それぞれ木だけの高さと葉っぱの高さを表します。使うときにはxmastree 3 10
というようにコマンドを入力します。
実行例のクリスマスツリーの小さいほうがxmastree 3 10
で作成したもので、大きいほうがxmastree 5 30
で作成したものです。
プログラムについて
大まかな流れとして、木の部分を同じ半径の円で描き、葉っぱの部分を半径を徐々に小さくしながら高さを増して描きます。幹の部分は円柱に、葉っぱの部分は円錐になります。
さらに、葉っぱブロックは原木ブロックから4つくらいの場所にないと消えてアイテム化してしまうので、それを防ぐために適当に原木を入れています。
各断面を見るとこのようになります。
もっと効率の良い原木の置き方や、きちんとどのような場合でもすべての葉っぱブロックをアイテム化させないようにする方法を考えて実装してみると、プログラミングスキルが上がるでしょう。
大きすぎる気を作ると木の下にモンスターがわいてしまうので、そのわきつぶしをしてみるのも面白いでしょう。