[AS3] Boucle infinie (While)

Résolu/Fermé
YoshK Messages postés 26 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 16 mars 2011 - 3 nov. 2010 à 15:44
 proutprout - 20 nov. 2012 à 11:02
Bonjour,
j'ai beau chercher, je ne comprend pas pourquoi mon programme fait une boucle infinie au débug. Je vous met mon code tel quel, mais ne faite pas attention aux conditions, normalement n'importe où passe le programme il devrait sortir du "while" :

var mvtValide:Boolean = true;
	var i:int = 0;
	var j:int = 0;
	while(mvtValide && i < 4) {
		while(mvtValide && j < 4) {
			if(testTab[i][j] == 2) {
				if(i+testX<0 || i+testX>=colonnes || j+testY>=lignes) {
					mvtValide = false;
				}
				else if(gameTab[i+testX][j+testY] == 1) {
					mvtValide = false;
				}
			}
			else {
				j++;
			}
		}
		i++;
		j = 0;
	}


Merci d'avance !

2 réponses

Est-ce possible que tout tes testTab[i][j] sois égale à 2 ?

sinon je vois pas trop..
1
YoshK Messages postés 26 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 16 mars 2011
3 nov. 2010 à 16:09
Merci de m'avoir mis sur la voie ;)

Enfaite c'est une grosse erreur d'algorithme... Je n'incrémente QUE si je ne trouve pas un 2, donc lorsque je trouve un 2 je répète l'opération et retrouve le même 2... Et ainsi de suite créant donc une boucle infinie.

C'est dingue de passer autant de temps sur un code sans rien trouver pour finalement voir quelqu'un la trouver en 5 minutes.
0
c'est souvant les erreur les plus bête qui nous font passer le plus de temps.
0
Ha.. et c'est mon métié... ça aide ;)
0
ouais
0