diff --git a/TicTacToe/fonctions.cpp b/TicTacToe/fonctions.cpp index 0ee06c5..eedce18 100644 --- a/TicTacToe/fonctions.cpp +++ b/TicTacToe/fonctions.cpp @@ -181,11 +181,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]; + if (grid[i][j] == " ") { + fin = false; + } + + else { + fin = fin && (grid[i][j] == grid[i][j + 1]); + } } if (fin == true) { return fin; @@ -195,7 +202,12 @@ bool verifFinMatch(std::string grid[][LARGTIC]) { 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]; + if (grid[i][j] == " ") { + fin = false; + } + else { + fin = fin && (grid[i][j] == grid[i + 1][j]); + } } if (fin == true) { return fin; @@ -204,19 +216,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 (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; } // 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; } }