diff --git a/TicTacToe/fonctions.cpp b/TicTacToe/fonctions.cpp index 0a69c2b..46364ec 100644 --- a/TicTacToe/fonctions.cpp +++ b/TicTacToe/fonctions.cpp @@ -176,11 +176,18 @@ void tourJoueur(string grid[][LARGTIC], int joueur) { bool verifFinMatch(std::string grid[][LARGTIC]) { bool fin = false; + // Valide horizontales for (int i = 0; i < 2; i++) { fin = true; - for (int j = 0; j < 2; j++) { - fin = fin && grid[i][j] == grid[i][j + 1]; + for (int j = 0; j < 2 && fin; j++) { + if (grid[i][j] == " ") { + fin = false; + } + + else { + fin = fin && grid[i][j] == grid[i][j + 1]; + } } if (fin == true) { return fin; @@ -189,8 +196,13 @@ bool verifFinMatch(std::string grid[][LARGTIC]) { // Valide verticales for (int i = 0; i < 2; i++) { fin = true; - for (int j = 0; j < 2; j++) { - fin = fin && grid[i][j] == grid[i + 1][j]; + for (int j = 0; j < 2 && fin; j++) { + if (grid[i][j] == " ") { + fin = false; + } + else { + fin = fin && grid[i][j] == grid[i + 1][j]; + } } if (fin == true) { return fin; @@ -200,6 +212,9 @@ bool verifFinMatch(std::string grid[][LARGTIC]) { 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; }