modification de la vérification de la fin de match avec un compteur

This commit is contained in:
Lea
2025-12-05 08:30:54 -05:00
parent 1d28babc6e
commit 763aba1a13

View File

@@ -185,68 +185,74 @@ void afficherImageTableau(std::string grid[][LARGTIC], std::string style) {
bool verifFinMatch(std::string grid[][LARGTIC]) { bool verifFinMatch(std::string grid[][LARGTIC]) {
bool fin = false; bool fin = false;
int max = LARGTIC * LARGTIC;
int compteur = 0;
if (compteur == max) {
return true;
}
// Valide horizontales else {
for (int i = 0; i < 2; i++) { compteur++;
// Valide horizontales
for (int i = 0; i < 2; i++) {
fin = true;
for (int j = 0; j < 2; j++) {
if (grid[i][j] == "") {
fin = false;
}
else {
fin = fin && (grid[i][j] == grid[i][j + 1]);
}
}
if (fin == true) {
return fin;
}
}
// Valide verticales
for (int i = 0; i < 2; i++) {
fin = true;
for (int j = 0; j < 2; j++) {
if (grid[i][j] == "") {
fin = false;
}
else {
fin = fin && (grid[i][j] == grid[i + 1][j]);
}
}
if (fin == true) {
return fin;
}
}
// Valide diagonale de 00, 11, 22
fin = true; fin = true;
for (int j = 0; j < 2; j++) { for (int i = 0; i < 2; i++) {
if (grid[i][j] == "") { if (grid[i][i] == "") {
fin = false; fin = false;
} }
else { else {
fin = fin && (grid[i][j] == grid[i][j + 1]); fin = fin && (grid[i][i] == grid[i + 1][i + 1]);
} }
} }
if (fin == true) { if (fin == true) {
return fin; return fin;
} }
}
// Valide verticales // Valide diagonale 02, 11, 20
for (int i = 0; i < 2; i++) {
fin = true; fin = true;
for (int j = 0; j < 2; j++) { for (int i = 2; i > 0; i--) {
if (grid[i][j] == "") { if (grid[i][i] == "") {
fin = false; fin = false;
} }
else { else {
fin = fin && (grid[i][j] == grid[i + 1][j]); fin = fin && (grid[i][i] == grid[i - 1][i - 1]);
} }
} }
if (fin == true) { if (fin == true) {
return fin; return fin;
} }
} }
// Valide diagonale de 00, 11, 22
fin = true;
for (int i = 0; i < 2; i++) {
if (grid[i][i] == "") {
fin = false;
}
else {
fin = fin && (grid[i][i] == grid[i + 1][i + 1]);
}
}
if (fin == true) {
return fin;
}
// Valide diagonale 02, 11, 20
fin = true;
for (int i = 2; i > 0; i--) {
if (grid[i][i] == "") {
fin = false;
}
else {
fin = fin && (grid[i][i] == grid[i - 1][i - 1]);
}
}
if (fin == true) {
return fin;
}
} }
void afficherFinMatch(string grid[][LARGTIC], int gagnant, int nbJoueurs) { void afficherFinMatch(string grid[][LARGTIC], int gagnant, int nbJoueurs) {