modifs du code avec les ajouts de Solène
This commit is contained in:
1
TicTacToe/0
Normal file
1
TicTacToe/0
Normal file
@@ -0,0 +1 @@
|
||||
Appuyez sur une touche pour continuer...
|
||||
@@ -15,11 +15,14 @@ BUT : Fichier de fonctions Tic Tac Toe
|
||||
using namespace std;
|
||||
|
||||
extern const int LARGTIC;
|
||||
const string ICONJ1 = { "X" };
|
||||
const string ICONJ2 = { "O" };
|
||||
|
||||
fstream monFlux;
|
||||
HANDLE hconsole = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
char carre = 219, choix;
|
||||
|
||||
//Fichiers
|
||||
void ouvrirFichier(std::fstream& monFlux, std::string nomFichier) {
|
||||
monFlux.open(nomFichier, ios::in);
|
||||
if (!monFlux) //On v<>rifie si le flux est "faux"/non fonctionnel.
|
||||
@@ -34,6 +37,26 @@ void fermerFichier(std::fstream& monFlux) {
|
||||
monFlux.close();
|
||||
}
|
||||
|
||||
//Menu
|
||||
void afficherMenu(char& choix) {
|
||||
system("cls");
|
||||
//T I C T A C T O E
|
||||
ouvrirFichier(monFlux, "menuTitre.txt");
|
||||
afficherImageMenu(monFlux);
|
||||
fermerFichier(monFlux);
|
||||
|
||||
// Menu
|
||||
cout << endl << "MENU" << endl << "----------------------------------" << endl
|
||||
<< "A) 1 joueur" << endl
|
||||
<< "B) 2 joueurs" << endl
|
||||
<< "C) Montrer l'historique des scores" << endl
|
||||
<< "D) Changer le style du jeu" << endl
|
||||
<< "Q) Quitter" << endl << endl
|
||||
<< "Quel est votre choix? ";
|
||||
choix = toupper(_getche());
|
||||
cout << endl;
|
||||
}
|
||||
|
||||
void afficherImageMenu(std::fstream& monFlux) {
|
||||
int repet = 0;
|
||||
if (monFlux) {
|
||||
@@ -59,6 +82,7 @@ void afficherImageMenu(std::fstream& monFlux) {
|
||||
}
|
||||
}
|
||||
|
||||
//G<>n<EFBFBD>ral (plusieurs options)
|
||||
void afficherImageTableau(std::string grid[][LARGTIC]) {
|
||||
SetConsoleOutputCP(CP_UTF8);
|
||||
string emoteUp,
|
||||
@@ -126,6 +150,26 @@ void afficherImageTableau(std::string grid[][LARGTIC]) {
|
||||
|
||||
}
|
||||
|
||||
void tourJoueur(string grid[][LARGTIC], int joueur) {
|
||||
int verticale,
|
||||
horizontale;
|
||||
|
||||
cout << "\n\nTour du joueur " << joueur << endl;
|
||||
afficherImageTableau(grid);
|
||||
|
||||
cout << "\n\nEntrez une coordonnee verticale : ";
|
||||
cin >> verticale;
|
||||
cout << "\nEntrez une coordonnee horizontale : ";
|
||||
cin >> horizontale;
|
||||
|
||||
if (joueur == 1) {
|
||||
grid[verticale - 1][horizontale - 1] = ICONJ1;
|
||||
}
|
||||
else {
|
||||
grid[verticale - 1][horizontale - 1] = ICONJ2;
|
||||
}
|
||||
}
|
||||
|
||||
bool verifFinMatch(std::string grid[][LARGTIC]) {
|
||||
bool fin = true;
|
||||
// Valide horizontales
|
||||
@@ -166,38 +210,37 @@ bool verifFinMatch(std::string grid[][LARGTIC]) {
|
||||
}
|
||||
}
|
||||
|
||||
//Menu
|
||||
void afficherMenu(char& choix) {
|
||||
system("cls");
|
||||
//T I C T A C T O E
|
||||
ouvrirFichier(monFlux, "menuTitre.txt");
|
||||
afficherImageMenu(monFlux);
|
||||
fermerFichier(monFlux);
|
||||
//1 joueur
|
||||
void jeuUnJoueur(string grid[][LARGTIC]) {
|
||||
bool fin;
|
||||
cout << "\nUn joueur a ete choisi. Le joueur joue en premier.\n\n";
|
||||
|
||||
// Menu
|
||||
cout << endl << "MENU" << endl << "----------------------------------" << endl
|
||||
<< "A) 1 joueur" << endl
|
||||
<< "B) 2 joueurs" << endl
|
||||
<< "C) Montrer l'historique des scores" << endl
|
||||
<< "D) Changer le style du jeu" << endl
|
||||
<< "Q) Quitter" << endl << endl
|
||||
<< "Quel est votre choix? ";
|
||||
choix = toupper(_getche());
|
||||
cout << endl;
|
||||
do {
|
||||
tourJoueur(grid, 1);
|
||||
tourOrdi(grid);
|
||||
system("PAUSE>0");
|
||||
fin = verifFinMatch(grid);
|
||||
} while (fin = true);
|
||||
}
|
||||
|
||||
void initialiserGrid(string grid[][LARGTIC]) {
|
||||
void tourOrdi(string grid[][LARGTIC]) {
|
||||
int vertical = rand() % (3);
|
||||
int horizontal = rand() % (3);
|
||||
|
||||
cout << "\n\nTour de l'ordinateur" << endl;
|
||||
afficherImageTableau(grid);
|
||||
|
||||
grid[vertical][horizontal] = ICONJ2;
|
||||
}
|
||||
|
||||
//2 joueurs
|
||||
void jeuDeuxJoueurs(string grid[][LARGTIC]) {
|
||||
bool fin;
|
||||
cout << endl << "Deux joueurs a ete choisi. Les tours seront l'un a la suite de l'autre." << endl << endl;
|
||||
|
||||
do {
|
||||
cout << "Tour du joueur" << endl;
|
||||
afficherImageTableau(grid);
|
||||
system("PAUSE");
|
||||
tourJoueur(grid, 1);
|
||||
tourJoueur(grid, 2);
|
||||
fin = verifFinMatch(grid);
|
||||
// la condition doit <20>tre une s<>rie de 3 chiffres
|
||||
} while (fin = true);
|
||||
|
||||
@@ -9,18 +9,25 @@ BUT : D
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#pragma once
|
||||
|
||||
const int LARGTIC = 3;
|
||||
|
||||
void afficherMenu(char& choix);
|
||||
void afficherImageMenu(std::fstream& monFlux);
|
||||
|
||||
//Fichiers
|
||||
void ouvrirFichier(std::fstream& monFlux, std::string nomFichier);
|
||||
void fermerFichier(std::fstream& monFlux);
|
||||
|
||||
void initialiserGrid(std::string grid[][LARGTIC]);
|
||||
//Menu
|
||||
void afficherMenu(char& choix);
|
||||
void afficherImageMenu(std::fstream& monFlux);
|
||||
|
||||
//G<>n<EFBFBD>ral
|
||||
void afficherImageTableau(std::string grid[][LARGTIC]);
|
||||
|
||||
void jeuDeuxJoueurs(std::string grid[][LARGTIC]);
|
||||
|
||||
void tourJoueur(std::string grid[][LARGTIC], int joueur); //pour savoir quel icon utiliser
|
||||
bool verifFinMatch(std::string grid[][LARGTIC]);
|
||||
|
||||
//1 joueur
|
||||
void jeuUnJoueur(std::string grid[][LARGTIC]);
|
||||
void tourOrdi(std::string grid[][LARGTIC]);
|
||||
|
||||
//2 joueurs
|
||||
void jeuDeuxJoueurs(std::string grid[][LARGTIC]);
|
||||
@@ -10,42 +10,45 @@ BUT : Main pour le jeu Tic Tac Toe
|
||||
#include "fonctions.h"
|
||||
using namespace std;
|
||||
|
||||
extern const int LARGTIC;
|
||||
const string ICONJ1 = { "X" };
|
||||
const string ICONJ2 = { "O" };
|
||||
|
||||
int main() {
|
||||
char choix;
|
||||
string grid[LARGTIC][LARGTIC] = { "x", "o","x", "x", "o","x" , "x", "o","x" };
|
||||
srand(time(NULL));
|
||||
|
||||
do {
|
||||
afficherMenu(choix);
|
||||
char choix;
|
||||
string grid[LARGTIC][LARGTIC] = { " ", " ", " "," ", " ", " ", " ", " ", " "};
|
||||
|
||||
switch (choix) {
|
||||
case 'A':
|
||||
do {
|
||||
afficherMenu(choix);
|
||||
|
||||
break;
|
||||
switch (choix) {
|
||||
case 'A':
|
||||
system("cls");
|
||||
jeuUnJoueur(grid);
|
||||
break;
|
||||
|
||||
case 'B':
|
||||
system("cls");
|
||||
jeuDeuxJoueurs(grid);
|
||||
break;
|
||||
case 'B':
|
||||
system("cls");
|
||||
jeuDeuxJoueurs(grid);
|
||||
break;
|
||||
|
||||
case 'C':
|
||||
case 'C':
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
case 'D':
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
case 'Q':
|
||||
cout << "Au revoir!";
|
||||
break;
|
||||
|
||||
default:
|
||||
cout << endl << "Saisissez un choix valide." << endl;
|
||||
break;
|
||||
}
|
||||
system("PAUSE>0");
|
||||
} while (choix != 'Q');
|
||||
case 'Q':
|
||||
cout << "\nAu revoir!";
|
||||
break;
|
||||
|
||||
default:
|
||||
cout << endl << "Saisissez un choix valide." << endl;
|
||||
break;
|
||||
}
|
||||
system("PAUSE>0");
|
||||
} while (choix != 'Q');
|
||||
}
|
||||
Reference in New Issue
Block a user