From a6fd55a4122f6808a28945a4befc7c49b806e4fc Mon Sep 17 00:00:00 2001 From: Lea Date: Wed, 26 Nov 2025 09:05:25 -0500 Subject: [PATCH] =?UTF-8?q?Modification=20de=20la=20fonction=20V=C3=A9rif?= =?UTF-8?q?=20fin=20match=20Tic=20Tac=20Toe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TicTacToe/0 | 2 +- TicTacToe/fonctions.cpp | 35 ++++++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/TicTacToe/0 b/TicTacToe/0 index 4588032..d7619da 100644 --- a/TicTacToe/0 +++ b/TicTacToe/0 @@ -1 +1 @@ -Appuyez sur une touche pour continuer... +Appuyez sur une touche pour continuer... \ No newline at end of file diff --git a/TicTacToe/fonctions.cpp b/TicTacToe/fonctions.cpp index 46364ec..0871eab 100644 --- a/TicTacToe/fonctions.cpp +++ b/TicTacToe/fonctions.cpp @@ -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 être une série de 3 symboles pareil } while (fin != true); + + cout << endl << "Termine" << endl; + system("PAUSE"); } \ No newline at end of file