Générateur de terrain Java 2D [dupliquer]


Cette question a déjà une réponse ici:

Comment puis-je former des îles au hasard dans mon jeu 2D? Je n'ai aucune idée de comment commencer!

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));
        }
    }
}

pic

Author: Don755, 2013-10-05

1 answers

Vous obtenez de mauvais résultats parce que vous générez aléatoirement chaque bloc de terrain. Au lieu de cela, vous voudrez probablement prendre en compte les blocs générés précédemment, afin de former des îles presque réelles.

Vous devriez probablement prendre un coup d'oeil à bruit de Perlin ou Simplex bruit algorithmes. Voir aussi cet article, qui explique l'algorithme en détail.

 5
Author: Guillaume Poussel, 2013-10-05 15:52:40