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 -
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
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:
- Aide pour parcours de tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
2 réponses
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)
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
if(nomArrayList.contains(coinFinal) return true;