2

2D ゲームで島をランダムに形成するにはどうすればよいですか? どうやって始めたらいいのかわからない!

void generateMap()
{
    blocks.clear();
    for(int x = 0; x < 150; x++)
    {
        for(int y = 0; y < 150; y++)
        {
            if(Math.random() < 0.5)
                blocks.add(new Block(x * Block.blockSize, y * Block.blockSize, eBlockType.GRASS));
            else
                blocks.add(new Block(x * Block.blockSize, y * Block.blockSize, eBlockType.WATER));
        }
    }
}

写真

4

1 に答える 1

5

各地形ブロックをランダムに生成しているため、悪い結果が得られます。代わりに、ほぼ本物の島を形成するために、以前に生成されたブロックを考慮に入れたいと思うでしょう。

おそらく、パーリン ノイズまたはシンプレックス ノイズアルゴリズムを検討する必要があります。アルゴリズムを詳しく説明しているこの記事も参照してください。

于 2013-10-05T15:52:40.027 に答える