Aide pour parcours de tableau

Résolu
Rushed59286 Messages postés 773 Date d'inscription   Statut Membre Dernière intervention   -  
Rushed59286 Messages postés 773 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous, alors voilà j'ai un projet à faire en cours qui est un jeu de plateau

Mon plateau est un tableau de Case ( Classe à part ), ma classe Case a un attribut "type" en int, initialisé à 0 ( case vide )
Puis je place en (0,0) et en (tailleX-1, tailleY-1) 2 bases (c'est à dire les 2 coins opposés)
Ensuite je place aléatoirement un certain nombre d'obstacles sur le plateau en fonction d'un float donné

Ce que je voudrais faire, c'est refaire cette création de plateau tant qu'il n'y a pas au moins un chemin valide ( c'est à dire un chemin de cases vides d'une base à l'autre )

Je voudrais savoir si quelqu'un pouvait m'aider car j'ai déjà essayé par exemple de faire une ArrayList qui contient les cases à visiter ( les voisins vides à partir d'une case ) et une ArrayList qui contient les cases visitées pour éviter de prendre plusieurs fois la même
Mais apparemment je sautais les obstacles car la méthode chargée de faire cette vérification me renvoyait toujours vrai alors qu'il n'y avait pas de chemin

Donc si vous pouvez me donner une autre technique pour faire cette vérification, ou bien si ma technique est bonne, m'aider dans le code ^^

Merci à vous
A voir également:

2 réponses

Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,

Une méthode (filling method) :
1) On créé un table des points accessibles, initialement seul (0,0) l'est.
2) on ajoute les nouveaux points accessibles (point accessible d'un point accessible et n'est pas obstable ni point déjà noté accessible)
  • Le coin final vient de passer accessible => fin c'est possible
  • aucun nouveau point accessible => fin c'est impossible
  • sinon reprendre à l'étape 2
0
Rushed59286 Messages postés 773 Date d'inscription   Statut Membre Dernière intervention   294
 
Je vais tester de cette façon merci
0
Rushed59286 Messages postés 773 Date d'inscription   Statut Membre Dernière intervention   294
 
Quand tu dis de créer une table, je peux faire ça sous forme d'ArrayList ? Comme ça je peux faire

if(nomArrayList.contains(coinFinal) return true;
0
Rushed59286 Messages postés 773 Date d'inscription   Statut Membre Dernière intervention   294
 
C'est bon j'ai enfin réussi ;)
0