Modification de la fonction Vérif fin match Tic Tac Toe
This commit is contained in:
@@ -180,13 +180,13 @@ bool verifFinMatch(std::string grid[][LARGTIC]) {
|
|||||||
// Valide horizontales
|
// Valide horizontales
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
fin = true;
|
fin = true;
|
||||||
for (int j = 0; j < 2 && fin; j++) {
|
for (int j = 0; j < 2; j++) {
|
||||||
if (grid[i][j] == " ") {
|
if (grid[i][j] == " ") {
|
||||||
fin = false;
|
fin = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
fin = fin && grid[i][j] == grid[i][j + 1];
|
fin = fin && (grid[i][j] == grid[i][j + 1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fin == true) {
|
if (fin == true) {
|
||||||
@@ -196,12 +196,12 @@ bool verifFinMatch(std::string grid[][LARGTIC]) {
|
|||||||
// Valide verticales
|
// Valide verticales
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
fin = true;
|
fin = true;
|
||||||
for (int j = 0; j < 2 && fin; j++) {
|
for (int j = 0; j < 2; j++) {
|
||||||
if (grid[i][j] == " ") {
|
if (grid[i][j] == " ") {
|
||||||
fin = false;
|
fin = false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
fin = fin && grid[i][j] == grid[i + 1][j];
|
fin = fin && (grid[i][j] == grid[i + 1][j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fin == true) {
|
if (fin == true) {
|
||||||
@@ -211,23 +211,30 @@ bool verifFinMatch(std::string grid[][LARGTIC]) {
|
|||||||
// Valide diagonale de 00, 11, 22
|
// Valide diagonale de 00, 11, 22
|
||||||
fin = true;
|
fin = true;
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
fin = fin && grid[i][i] == grid[i + 1][i + 1];
|
|
||||||
if (grid[i][i] == " ") {
|
if (grid[i][i] == " ") {
|
||||||
fin = false;
|
fin = false;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
fin = fin && (grid[i][i] == grid[i + 1][i + 1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (fin == true) {
|
if (fin == true) {
|
||||||
return fin;
|
return fin;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Valide diagonale 02, 11, 20
|
// Valide diagonale 02, 11, 20
|
||||||
fin = true;
|
fin = true;
|
||||||
for (int i = 2; i > 0; i--) {
|
for (int i = 2; i > 0; i--) {
|
||||||
fin = fin && grid[i][i] == grid[i - 1][i - 1];
|
if (grid[i][i] == " ") {
|
||||||
|
fin = false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fin = fin && (grid[i][i] == grid[i - 1][i - 1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (fin == true) {
|
if (fin == true) {
|
||||||
return fin;
|
return fin;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//1 joueur
|
//1 joueur
|
||||||
@@ -237,11 +244,13 @@ void jeuUnJoueur(string grid[][LARGTIC]) {
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
tourJoueur(grid, 1);
|
tourJoueur(grid, 1);
|
||||||
//fin = verifFinMatch(grid);
|
fin = verifFinMatch(grid);
|
||||||
tourOrdi(grid);
|
tourOrdi(grid);
|
||||||
system("PAUSE>0");
|
system("PAUSE>0");
|
||||||
fin = verifFinMatch(grid);
|
fin = verifFinMatch(grid);
|
||||||
} while (fin != true);
|
} while (fin != true);
|
||||||
|
cout << endl << "Termine" << endl;
|
||||||
|
system("PAUSE");
|
||||||
}
|
}
|
||||||
|
|
||||||
void tourOrdi(string grid[][LARGTIC]) {
|
void tourOrdi(string grid[][LARGTIC]) {
|
||||||
@@ -264,8 +273,12 @@ void jeuDeuxJoueurs(string grid[][LARGTIC]) {
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
tourJoueur(grid, 1);
|
tourJoueur(grid, 1);
|
||||||
|
fin = verifFinMatch(grid);
|
||||||
tourJoueur(grid, 2);
|
tourJoueur(grid, 2);
|
||||||
fin = verifFinMatch(grid);
|
fin = verifFinMatch(grid);
|
||||||
// la condition doit <20>tre une s<>rie de 3 symboles pareil
|
// la condition doit <20>tre une s<>rie de 3 symboles pareil
|
||||||
} while (fin != true);
|
} while (fin != true);
|
||||||
|
|
||||||
|
cout << endl << "Termine" << endl;
|
||||||
|
system("PAUSE");
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user