-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: problème de boucle infinie. Lun 11 Oct 2010 - 19:07 | |
| Bonjour à tous! Eh oui, j'ai encore un problème. J'ai fait un algorithme de génération de labyrinthe qui marche très bien, sauf à un moment, où il me fout une boucle infinie à la ***. Voici la portion de code : - Code:
-
continuer = true
while continuer { b=floor(random(10))+1 c=floor(random(10))+1 if cases[b,c]=3 { if cases[b+1,c]=4 or cases[b-1,c]=4 or cases[b,c+1]=4 or cases[b,c-1]=4 { continuer = false } }
}
La boucle devrait (logiquement) s'arrêter quand b et c sont les coordonnées d'une case de 3 entourée d'au moins une case de 4. (dans ce genre : _ 4 4 3 4 _4 avec forcément une des cases autour étant un 4) Pourtant, elle ne le fait pas et continue la boucle de façon infinie. (les 4 sont les valeurs par défaut dans la matrice et les 3 se rajoutent au fur et a mesure) Si quelqu'un trouve l'erreur qu'il y a, ça m'aiderait beaucoup !
Dernière édition par -Coco- le Lun 11 Oct 2010 - 19:17, édité 1 fois |
|
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: problème de boucle infinie. Lun 11 Oct 2010 - 19:13 | |
| Soit tu as très peu de chance et avec les random, il ne tombe jamais sur une case respectant les valeurs que tu as préscritent. Ou bien cette case n'existe pas. Tu est bien sur qu'il ne soit pas possible de ne pas avoir cela?
|
|
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: boucle infinie [resolu] Lun 11 Oct 2010 - 20:00 | |
| Ow yé! En fait c'était un problème de repeter = true à un autre endroit du programme. c'est débile, ça n'avait strictement aucun rapport avec cette portion de code. Voila à peu près le type de labyrintye que ça donne : me reste plus qu'a virer le code du code de la room et à en faire un script pour qu'on puisse choisir la taille. |
|
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: problème de boucle infinie. Mar 19 Mar 2013 - 21:50 | |
| même problème que coco !
quand on tente de faire un générateur de labyrinthe à base de boucle ,inexorablement on tombe sur une boucle infinie!
boucle+random semble donner de mauvais résultat,pourquoi???
|
|
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: problème de boucle infinie. Mer 20 Mar 2013 - 17:12 | |
| Parce ce code est très mauvais Mais théoriquement il devrait finir par y avoir un random qui atteint les valeurs désirées, si faut on a juste grave pas de chance (ou la fonction random n'atteint pas toutes les valeurs, ce qui est possible) |
|
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: problème de boucle infinie. Jeu 21 Mar 2013 - 8:15 | |
| Le mieux pour random est de l'utiliser pour sortir des probabilités, comme ça tu tombe toujours sur quelque chose que tu veux. Car oui le random de GM est pas terrible, des fois il sort des suites aléatoires pas superbes :s Mais bon en même temps le pseudo aléatoire ça peut pas être aussi bien que le vrai hasard...
Un truc sympa aussi c'est de coupler de l'aléatoire a des trucs prédéterminés. C'est ce que je fait pour les IA en général, ça leur permet de faire des choses logiques mais d'avoir des réactions différentes avec un certain coefficient de hasard. |
|
Contenu sponsorisé
| Sujet: Re: problème de boucle infinie. | |
| |
|