パイクラおじさんの日記

MinecraftでPythonを勉強するおじさんの日記です。

池の処理(2)

池の水部分を生成するための処理の概要を考える。

池の水面データの生成

まずは池の水面データを生成する。

  1. 5x5倍した標高データと同じサイズの配列を用意し、全体を-9999で初期化する。
  2. 5x5倍した標高データの処理対象の池の範囲と池の縁の標高データを指定して、指定した範囲内で池の縁の標高データより低い部分を池の水面とする。
  3. 池の水面と判断した-9999を池の縁の標高データで書き換える。
  4. 池の水面標高データを池の水面データとして保存する。
池の水面データを参照しながらブロックを設置する

マイクラで標高データを読む際に、上の池の水面データも読み込む。

  1. 標高データと池の水面データを比較して、池の水面データの方が高い場合は、標高データは池の水底として、土ブロックのまま設置し、さらに水面の標高まで水ブロックを設置する。
  2. 標高データの方が高い場合は、今までと同じく土ブロックの上に草ブロックを設置する。