Modification de la fonction Vérif fin match Tic Tac Toe

This commit is contained in:
Lea
2025-11-26 09:05:25 -05:00
parent 30a69aee48
commit a6fd55a412
2 changed files with 25 additions and 12 deletions

View File

@@ -180,13 +180,13 @@ bool verifFinMatch(std::string grid[][LARGTIC]) {
// Valide horizontales // Valide horizontales
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
fin = true; fin = true;
for (int j = 0; j < 2 && fin; j++) { for (int j = 0; j < 2; j++) {
if (grid[i][j] == " ") { if (grid[i][j] == " ") {
fin = false; fin = false;
} }
else { else {
fin = fin && grid[i][j] == grid[i][j + 1]; fin = fin && (grid[i][j] == grid[i][j + 1]);
} }
} }
if (fin == true) { if (fin == true) {
@@ -196,12 +196,12 @@ bool verifFinMatch(std::string grid[][LARGTIC]) {
// Valide verticales // Valide verticales
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
fin = true; fin = true;
for (int j = 0; j < 2 && fin; j++) { for (int j = 0; j < 2; j++) {
if (grid[i][j] == " ") { if (grid[i][j] == " ") {
fin = false; fin = false;
} }
else { else {
fin = fin && grid[i][j] == grid[i + 1][j]; fin = fin && (grid[i][j] == grid[i + 1][j]);
} }
} }
if (fin == true) { if (fin == true) {
@@ -211,23 +211,30 @@ bool verifFinMatch(std::string grid[][LARGTIC]) {
// Valide diagonale de 00, 11, 22 // Valide diagonale de 00, 11, 22
fin = true; fin = true;
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
fin = fin && grid[i][i] == grid[i + 1][i + 1];
if (grid[i][i] == " ") { if (grid[i][i] == " ") {
fin = false; fin = false;
} }
else {
fin = fin && (grid[i][i] == grid[i + 1][i + 1]);
}
}
if (fin == true) { if (fin == true) {
return fin; return fin;
} }
}
// Valide diagonale 02, 11, 20 // Valide diagonale 02, 11, 20
fin = true; fin = true;
for (int i = 2; i > 0; i--) { for (int i = 2; i > 0; i--) {
fin = fin && grid[i][i] == grid[i - 1][i - 1]; if (grid[i][i] == " ") {
fin = false;
}
else {
fin = fin && (grid[i][i] == grid[i - 1][i - 1]);
}
}
if (fin == true) { if (fin == true) {
return fin; return fin;
} }
}
} }
//1 joueur //1 joueur
@@ -237,11 +244,13 @@ void jeuUnJoueur(string grid[][LARGTIC]) {
do { do {
tourJoueur(grid, 1); tourJoueur(grid, 1);
//fin = verifFinMatch(grid); fin = verifFinMatch(grid);
tourOrdi(grid); tourOrdi(grid);
system("PAUSE>0"); system("PAUSE>0");
fin = verifFinMatch(grid); fin = verifFinMatch(grid);
} while (fin != true); } while (fin != true);
cout << endl << "Termine" << endl;
system("PAUSE");
} }
void tourOrdi(string grid[][LARGTIC]) { void tourOrdi(string grid[][LARGTIC]) {
@@ -264,8 +273,12 @@ void jeuDeuxJoueurs(string grid[][LARGTIC]) {
do { do {
tourJoueur(grid, 1); tourJoueur(grid, 1);
fin = verifFinMatch(grid);
tourJoueur(grid, 2); tourJoueur(grid, 2);
fin = verifFinMatch(grid); fin = verifFinMatch(grid);
// la condition doit <20>tre une s<>rie de 3 symboles pareil // la condition doit <20>tre une s<>rie de 3 symboles pareil
} while (fin != true); } while (fin != true);
cout << endl << "Termine" << endl;
system("PAUSE");
} }