random position 2d array

random position 2d array - C#/.NET managed - Programmation

Marsh Posté le 28-06-2015 à 16:26:09    

Bonjour,
 
je débute en c# et je cherche à faire une fonction qui retourne des coordonnés aléatoirement dans un tableau 2d
 
pour le moment j'ai en plus du tableau une liste qui contient toutes les positions disponibles ("les cellules vides de ma grille" ) et  
lorsque je place un objet sur une des cellules, je supprime ses coordonnées de la liste.
 
en gros je veux une position aléatoire seulement sur un emplacement libre.
 
Avez vous une méthode plus simple à me conseiller? j'ai trouvé des exemples avec une boucle do { } while une sorte de bruteforce jusqu' à trouver une position valide.
pouvez vous me conseiller une méthode efficace?
 
 :hello:

Reply

Marsh Posté le 28-06-2015 à 16:26:09   

Reply

Marsh Posté le 01-07-2015 à 15:43:49    

Si tu veux de l'aléatoire le do while n'est pas une solution vu qu'il te retournera la première réponse.
Pour l'implémentation le minimum serait que tu donnes un bout de code.
 
Selon la taille du tableau et le nombre (proportionnellement) d'éléments "vides" il y a plusieurs approches naïves.
- stocker dans un coin la liste des cases vides et lorsque besoin en sélectionner une au hasard (problème : il faut tenir à jour cette liste)
ou
- générer des numéros de case au hasard et retourner la première qui soit vide (mauvaise idée si gros tableau ou si 9/10e des cases sont occupées évidemment)
etc
 
Pour faire de l'aléatoire tu dois utiliser l'objet... Random (sans blague??)


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed