Je ne suis pas habitué à la programmation et je me demandais juste comment créer un objet ou un moyen rapide de générer un objet en évitant le chevauchement dans un jeu java.Apparition d'objets aléatoires sans chevauchement
J'ai un tableau de pics que je veux placer au hasard sur le niveau. Le code que j'ai actuellement pour peindre l'image sur l'écran est:
// Initialise all Spike Pits
for (int k = 0; k < NUMBER_OF_SPIKEPITS; k++) {
spikepitX = rand.nextInt(3600) + (thePlayer.getX() + 20); //will ensure that the spike pit cannot spawn under the player start position
spikepitY = (GroundLevel - 33);
spikepit[k] = new SpikePit(spikepitX, spikepitY);
}
init();
Cela leur imprime à des points aléatoires le long du sol pour la largeur du niveau, mais certains d'entre eux se chevauchent. Y a-t-il quelque chose que je puisse ajouter pour l'empêcher?
Est-ce que [this] (http://stackoverflow.com/questions/16000196/java-generating-non-repeating-random-numbers) aide? – jrook
Si vous comptez vous fier à la génération de nombres pseudo-aléatoires, tenez compte uniquement de la plage de coordonnées où le lecteur n'est pas situé. Sinon, vous devrez générer une coordonnée en continu et vérifier si elle est valide. –