modification de la vérification de la fin de match avec un compteur
This commit is contained in:
@@ -185,68 +185,74 @@ void afficherImageTableau(std::string grid[][LARGTIC], std::string style) {
|
|||||||
|
|
||||||
bool verifFinMatch(std::string grid[][LARGTIC]) {
|
bool verifFinMatch(std::string grid[][LARGTIC]) {
|
||||||
bool fin = false;
|
bool fin = false;
|
||||||
|
int max = LARGTIC * LARGTIC;
|
||||||
|
int compteur = 0;
|
||||||
|
if (compteur == max) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Valide horizontales
|
else {
|
||||||
for (int i = 0; i < 2; i++) {
|
compteur++;
|
||||||
|
// Valide horizontales
|
||||||
|
for (int i = 0; i < 2; i++) {
|
||||||
|
fin = true;
|
||||||
|
for (int j = 0; j < 2; j++) {
|
||||||
|
if (grid[i][j] == "") {
|
||||||
|
fin = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
fin = fin && (grid[i][j] == grid[i][j + 1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fin == true) {
|
||||||
|
return fin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Valide verticales
|
||||||
|
for (int i = 0; i < 2; i++) {
|
||||||
|
fin = true;
|
||||||
|
for (int j = 0; j < 2; j++) {
|
||||||
|
if (grid[i][j] == "") {
|
||||||
|
fin = false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fin = fin && (grid[i][j] == grid[i + 1][j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fin == true) {
|
||||||
|
return fin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Valide diagonale de 00, 11, 22
|
||||||
fin = true;
|
fin = true;
|
||||||
for (int j = 0; j < 2; j++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
if (grid[i][j] == "") {
|
if (grid[i][i] == "") {
|
||||||
fin = false;
|
fin = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
fin = fin && (grid[i][j] == grid[i][j + 1]);
|
fin = fin && (grid[i][i] == grid[i + 1][i + 1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fin == true) {
|
if (fin == true) {
|
||||||
return fin;
|
return fin;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// Valide verticales
|
// Valide diagonale 02, 11, 20
|
||||||
for (int i = 0; i < 2; i++) {
|
|
||||||
fin = true;
|
fin = true;
|
||||||
for (int j = 0; j < 2; j++) {
|
for (int i = 2; i > 0; i--) {
|
||||||
if (grid[i][j] == "") {
|
if (grid[i][i] == "") {
|
||||||
fin = false;
|
fin = false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
fin = fin && (grid[i][j] == grid[i + 1][j]);
|
fin = fin && (grid[i][i] == grid[i - 1][i - 1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fin == true) {
|
if (fin == true) {
|
||||||
return fin;
|
return fin;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Valide diagonale de 00, 11, 22
|
|
||||||
fin = true;
|
|
||||||
for (int i = 0; i < 2; i++) {
|
|
||||||
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--) {
|
|
||||||
if (grid[i][i] == "") {
|
|
||||||
fin = false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fin = fin && (grid[i][i] == grid[i - 1][i - 1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (fin == true) {
|
|
||||||
return fin;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void afficherFinMatch(string grid[][LARGTIC], int gagnant, int nbJoueurs) {
|
void afficherFinMatch(string grid[][LARGTIC], int gagnant, int nbJoueurs) {
|
||||||
|
|||||||
Reference in New Issue
Block a user