Untitled
unknown
plain_text
10 months ago
2.0 kB
6
Indexable
function verifieVictoire(couleur, colonne, cellule) { // couleur : un 1 ou un 2 (jaune ou rouge) let compteur = 0; // Horizontal : vérifier qu'on a au moins 4 pièces alignées let x = colonne; let y = cellule; // on regarde à droite /** * Récapitulons les étapes de vérification : * - Est ce que j'ai déjà 4 pions alignés ? * - Est ce que je suis sorti du tableau ? * - Est ce que sur la case actuelle il y a ma couleur ? */ while (compteur < 4 && x < 7 && grille.value[x][y] === couleur) { x++; compteur++; } if (compteur > 3) return true; // on se replace et on regarde à gauche x = colonne - 1; while (compteur < 4 && x >= 0 && grille.value[x][y] === couleur) { x--; compteur++; } if (compteur > 3) return true; // Vertical compteur = 0; x = colonne; y = cellule; while (compteur < 4 && y < 6 && grille.value[x][y] === couleur) { y++; compteur++; } if (compteur > 3) return true; y = cellule - 1; while (compteur < 4 && y >= 0 && grille.value[x][y] === couleur) { y--; compteur++; } if (compteur > 3) return true; // Diagonale droite compteur = 0; x = colonne; y = cellule; while (compteur < 4 && y < 6 && x < 7 && grille.value[x][y] === couleur) { x++; y++; compteur++; } if (compteur > 3) return true; x = colonne - 1; y = cellule - 1; while (compteur < 4 && y >= 0 && x >= 0 && grille.value[x][y] === couleur) { x--; y--; compteur++; } if (compteur > 3) return true; // Diagonale gauche compteur = 0; x = colonne; y = cellule; while (compteur < 4 && y < 6 && x >=0 && grille.value[x][y] === couleur) { x--; y++; compteur++; } if (compteur > 3) return true; x = colonne + 1; y = cellule - 1; while (compteur < 4 && y >= 0 && x < 7 && grille.value[x][y] === couleur) { x++; y--; compteur++; } if (compteur > 3) return true; return false; }
Editor is loading...
Leave a Comment