この記事ではマインクラフトとコードコネクションを用いて、プログラミングによってガラスのブランチマイニング場を作る方法を紹介します。マインクラフトでプログラミングができるようになる環境構築については過去記事を参考にしてください。
コードコネクションを開き、新しいプロジェクトを作ります。適当に名前を付けましょう。私はglass_branch_mining
という名前にしました。
コードと実行例
今回作成したコードと実行例は以下の通りになります。
大枠は二重ループになっています。
リストにブランチマイニング場に存在しそうなブロックを並べておきます。後でそれらをガラスに置換します。
各値の意味とリファクタリング案
数値がそのまま入っている部分を見てみましょう。コード内の72
とか5
とか20
とかの数字です。これらは適当に決めているので、気分で変えたくなる可能性が高いです。
これらの値を決定したときの気持ちとしては、上下5
くらい、左右20
くらいあればいいだろうという感じです。これらが決まれば、y範囲は5×2+1=11
、zの範囲は20×2+1=41
となります。ブロック置き換えの最大個数が32×32×32=32768
なので、xの範囲を最大化するために、32768÷11÷41≒72.7
より72
マスとなります。
y範囲、z範囲を変数においてやって、xの範囲をx=小数点切り下げ(32768÷(y×2+1)÷(z×2+1))
としてやると、変更がききやすいでしょう。
ループ部分の補足説明
ループ部分が少し複雑な構造になっているので、順を追って確認していきます。
最初、indexの値が0のとき、x_begin=1、x_end=72となり、1~72の72マス分となります。indexが1のときx_beginは72×1+1=73となり、x_endは73+71=144です。73~144までの72マス分になります。indexの値が上がるごとに、x_begin、x_endともいい感じの値になってくれます。
以下のような感じです。
index = 0
x_begin = 1
x_end = 72
index = 2
x_begin = 73
x_end = 144
index = 3
x_begin = 145
x_end = 216