Ma matrice fait planter la page web.

Fermé
adamsjilal Messages postés 46 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 29 avril 2018 - 25 avril 2018 à 13:41
adamsjilal Messages postés 46 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 29 avril 2018 - 29 avril 2018 à 20:24
Bonjour,
j'avais codé une fonction en javascript et cette derniere me sert a parcourir une matrice grille. je vous explique le probleme, mon soucie c'est que apres quelque iteration, ma page se bloque. donc la finalité de la fonction est : la methode recoit en parametre une matrice. apres la reception, la methode parcourt la matrice et test a chaque fois si le contenu de la case ij est superieur a 3, alors elle fait distribuer pour un grain a la case de gauche, un pour la case de droite, un pour en haut et un pour en bas. j'aimerais que vous m'aidiez s'il vous plait.
merci.
code de la fonction
function distribution(grille){
   // alert("je suis la");    
   
        for (var i = 0; i <grille.length; i=i+1) {
        for(var j = 0 ; j < grille[i].length;j=j+1){
             while(grille[i][j]>3){
                grille[i][j] -=3;
                 if(i == 0 && j == 0){
                    grille[i+1][j]+=1;
                    grille[i][j+1]+=1;
                    update_grid(grille,colors);
                    setTimeout(function(){
                        distribution(grille);
                    },1000);

                 }else{
            
                    grille[i-1][j]+=1;
                    grille[i][j-1]+=1;
                    grille[i+1][j]+=1;
                    grille[i][j+1]+=1;
                    update_grid(grille,colors);
                    setTimeout(function(){
                        distribution(grille);
                    },1000);

                 }
                 i++;
                 j++;
                 }
             }
                
                
            
            }
        }
    
A voir également:

1 réponse

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
25 avril 2018 à 15:35
Bonjour,

- Tu as essayé de retirer les appel aux settimeout ?
- Que lui envois tu comme données ? (sans ça on ne peut pas tester.....)
- Que contient la fonction update_grid ?
- Est-ce que ça plante toujours au même endroit ou pas ? As tu essayé de mettre des "alert" ou des console.log dans différents endroits de ton code pour voir le contenu des variables et essayer de debuguer ?


0
adamsjilal Messages postés 46 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 29 avril 2018
29 avril 2018 à 20:24
Bonjour, en faite j'ai essayé de voir le console, et ca afficher des messages d'erreurs comme quoi grille[i-1] et grille[i+1] undefined
TypeError: grille[(i - 1)] is undefined, TypeError: grille[(i + 1)] is undefined
il affiche en boucle.
0