Bonjour,
(Dsl pour le pavé)
J'utilise un algorithme Sidewinder pour réaliser un labyrinthe qui ressemble à ça mais en beaucoup plus grand :
Ce genre de labyrinthe est assez prédictif car il n'y a jamais de chemin remontant, j'ai donc entrepris la tâche de le complexifier le labyrinthe en créant des "détours" (cf. exemple qui suit).
Exemple :
(En vert clair les rajouts, en "fondu" les portions supprimées)
Seulement voila si un joueur tombe sur un chemin remontant alors il sait dores et déjà qu'il est sur la bonne piste, je voudrais donc rajouter des "pseudos-raccourcis" entre les "mauvais-chemins", ce qui donnera l'impression d'avoir des chemins qui remontent de temps en temps, mais (et c'est là où ça devient costaud) je ne veux pas créer de "vrai-raccourcis" au "bon-chemin" !
Exemple :
(En rouge ce que je ne veux pas, en bleu ce que je désire/tolère.)
L'idéal serait de calculer la longueur du "bon-chemin" à chaque ajout de "pseudo-raccourcis", histoire de ne pas rajouter de "vrai-raccourcis", mais il faut 20 minutes pour que le script de résolution de labyrinthe établisse le bon chemin, je crains donc que de calculer cette longueur à chaque rajout va être infiniment long !
Le fichier du labyrinthe est une liste de liste de 0 pour les murs, de 1 pour les chemins et de 9 pour le bon chemin !
Exemple :
Une idée qui me garantirait un bon résultat c'est de transformer toutes les "branches" du bon chemin en un numéro unique et permettre uniquement des raccourcis entre leurs sous-branches :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [ [0,0,0,0,0,0], [0,9,9,9,9,0], [0,0,1,0,9,0], [0,1,1,0,9,0], [0,0,0,0,0,0] ]
(A noter qu'en rouge clignotant ça ne serait presque pas trop gênant puisque ça rallongerait le chemin mais il n'y aurait pas réellement de choix si la bifurcation mène tout de même au bon chemin, non ?)
Si vous avez d'autres idées, je suis preneur !
Merci d'avance !
Partager