2D Java地形生成器

san*_*ixx 2 java 2d terrain

如何在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));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

PIC

Gui*_*sel 5

由于您随机生成每个地形块,因此结果不佳.相反,您可能希望将先前生成的块考虑在内,以便形成几乎真实的岛屿.

你应该看看Perlin噪声Simplex噪声算法.另请参阅本文,其中详细介绍了算法.