|
|
|
|
@@ -183,10 +183,9 @@ void afficherImageTableau(std::string grid[][LARGTIC], std::string style) {
|
|
|
|
|
SetConsoleOutputCP(codeConsole);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool verifFinMatch(std::string grid[][LARGTIC]) {
|
|
|
|
|
bool verifFinMatch(std::string grid[][LARGTIC], int compteur) {
|
|
|
|
|
bool fin = false;
|
|
|
|
|
int max = LARGTIC * LARGTIC;
|
|
|
|
|
int compteur = 0;
|
|
|
|
|
if (compteur == max) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
@@ -199,7 +198,6 @@ bool verifFinMatch(std::string grid[][LARGTIC]) {
|
|
|
|
|
if (grid[i][j] == "") {
|
|
|
|
|
fin = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
fin = fin && (grid[i][j] == grid[i][j + 1]);
|
|
|
|
|
//cout << "comparaison de " << i << "," << j << " et " << i << "," << j+1 << endl;
|
|
|
|
|
@@ -271,14 +269,30 @@ void afficherFinMatch(string grid[][LARGTIC], int gagnant, int nbJoueurs) {
|
|
|
|
|
if (gagnant == 1) {
|
|
|
|
|
cout << "\n\nLe joueur a gagne la partie!";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
else if (gagnant == 2) {
|
|
|
|
|
cout << "\n\nL'ordinateur a gagne la partie!";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
cout << "\n\nPartie nulle!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (gagnant == 3) {
|
|
|
|
|
cout << "\n\nPartie nulle!";
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
cout << "\n\nLe joueur " << gagnant
|
|
|
|
|
<< " a gagne la partie!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int partieNulle(string grid[][LARGTIC], int compteur) {
|
|
|
|
|
int max = LARGTIC * LARGTIC;
|
|
|
|
|
if (compteur == max) {
|
|
|
|
|
gagnant = 3;
|
|
|
|
|
return gagnant;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Joueur
|
|
|
|
|
@@ -335,20 +349,20 @@ void jeuUnJoueur(string grid[][LARGTIC]) {
|
|
|
|
|
bool fin;
|
|
|
|
|
int gagnant;
|
|
|
|
|
int nbJoueurs = 1;
|
|
|
|
|
int compteur = 0;
|
|
|
|
|
|
|
|
|
|
cout << "Un joueur a ete choisi. Le joueur joue en premier.";
|
|
|
|
|
|
|
|
|
|
//AJOUTER UN COMPTEUR DE TOURS POUR LES EXAEQUO!!!!!!
|
|
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
tourJoueur(grid, 1);
|
|
|
|
|
gagnant = 1;
|
|
|
|
|
fin = verifFinMatch(grid);
|
|
|
|
|
fin = verifFinMatch(grid, compteur);
|
|
|
|
|
gagnant = partieNulle(grid, compteur);
|
|
|
|
|
if (fin != true) {
|
|
|
|
|
tourOrdi(grid);
|
|
|
|
|
gagnant = 2;
|
|
|
|
|
system("PAUSE>nul");
|
|
|
|
|
fin = verifFinMatch(grid);
|
|
|
|
|
fin = verifFinMatch(grid, compteur);
|
|
|
|
|
}
|
|
|
|
|
} while (fin != true);
|
|
|
|
|
afficherFinMatch(grid, gagnant, nbJoueurs);
|
|
|
|
|
@@ -373,17 +387,21 @@ void jeuDeuxJoueurs(string grid[][LARGTIC]) {
|
|
|
|
|
bool fin;
|
|
|
|
|
int gagnant;
|
|
|
|
|
int nbJoueurs = 2;
|
|
|
|
|
int compteur = 0;
|
|
|
|
|
|
|
|
|
|
cout << "\nDeux joueurs a ete choisi. Les tours seront l'un a la suite de l'autre.\n\n";
|
|
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
tourJoueur(grid, 1);
|
|
|
|
|
gagnant = 1;
|
|
|
|
|
fin = verifFinMatch(grid);
|
|
|
|
|
fin = verifFinMatch(grid, compteur);
|
|
|
|
|
compteur++;
|
|
|
|
|
gagnant = partieNulle(grid, compteur);
|
|
|
|
|
if (fin != true) {
|
|
|
|
|
tourJoueur(grid, 2);
|
|
|
|
|
gagnant = 2;
|
|
|
|
|
fin = verifFinMatch(grid);
|
|
|
|
|
fin = verifFinMatch(grid, compteur);
|
|
|
|
|
compteur++;
|
|
|
|
|
}
|
|
|
|
|
} while (fin != true);
|
|
|
|
|
afficherFinMatch(grid, gagnant, nbJoueurs);
|
|
|
|
|
|