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