池の処理(2)
池の水部分を生成するための処理の概要を考える。
池の水面データの生成
まずは池の水面データを生成する。
- 5x5倍した標高データと同じサイズの配列を用意し、全体を-9999で初期化する。
- 5x5倍した標高データの処理対象の池の範囲と池の縁の標高データを指定して、指定した範囲内で池の縁の標高データより低い部分を池の水面とする。
- 池の水面と判断した-9999を池の縁の標高データで書き換える。
- 池の水面標高データを池の水面データとして保存する。
池の水面データを参照しながらブロックを設置する
マイクラで標高データを読む際に、上の池の水面データも読み込む。
- 標高データと池の水面データを比較して、池の水面データの方が高い場合は、標高データは池の水底として、土ブロックのまま設置し、さらに水面の標高まで水ブロックを設置する。
- 標高データの方が高い場合は、今までと同じく土ブロックの上に草ブロックを設置する。