1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| #include <iostream>
using namespace std;
void initialiseGrille(char grille[3][3])
{
int i, j;
for (i=0; i<3; i++) {
for (j=0; j<3; j++) {
grille[i][j] ='_';
}
}
}
void affichegrille(char grille[3][3])
{
int i,j;
for (i=0; i<3; i++) {
for (j=0; j<3; j++) {
cout<<grille[i][j]<<" ";
}
cout<<endl;
}
}
void metUnPionSurLaGrille(char grille[3][3], char&prochain_joueur)
{
int ligne, colonne;
cout<<"Quelle ligne ?"<<endl;
cin>>ligne;
cout<<"Quelle colonne ?"<<endl;
cin>>colonne;
while((grille[ligne-1][colonne-1]) != '_'){
cout<<"Saisie eronnee"<<endl;
cout<<"Quelle ligne ?"<<endl;
cin>>ligne;
cout<<"Quelle colonne ?"<<endl;
cin>>colonne;
}
grille[ligne-1][colonne-1]=prochain_joueur;
if (prochain_joueur == 'O'){
prochain_joueur = 'X';
}
else{
prochain_joueur = 'O';
}
}
int testeFinJeu(char T[3][3], char prochain_jeu)
{
char a;
a='_';
if ((T[1][1]==T[2][1])&&(T[3][1]==T[1][1])&&(T[1][1]==prochain_jeu)){
return 1;
}
if ((T[1][2]==T[2][2])&&(T[3][2]==T[1][2])&&(T[1][2]==prochain_jeu)){
return 1;
}
if ((T[1][3]==T[2][3])&&(T[3][3]==T[1][3])&&(T[1][3]==prochain_jeu)){
return 1;
}
if ((T[1][1]==T[1][2])&&(T[1][3]==T[1][1])&&(T[1][1]==prochain_jeu)){
return 1;
}
if ((T[2][1]==T[2][2])&&(T[2][3]==T[2][1])&&(T[2][1]==prochain_jeu)){
return 1;
}
if ((T[3][1]==T[3][2])&&(T[3][3]==T[3][1])&&(T[3][1]==prochain_jeu)){
return 1;
}
if ((T[1][1]==T[2][2])&&(T[3][3]==T[1][1])&&(T[1][1]==prochain_jeu)){
return 1;
}
if ((T[3][1]==T[2][2])&&(T[1][3]==T[2][2])&&(T[2][2]==prochain_jeu)){
return 1;
}
else {
return 0;
}
}
int main (void)
{
char grille[3][3];
int b, i;
char prochainjoueur;
prochainjoueur='O';
initialiseGrille(grille);
b=testeFinJeu(grille, prochainjoueur);
while(b==0){
for(i=1;i<=9;i++){
affichegrille(grille);
metUnPionSurLaGrille(grille, prochainjoueur);
b=testeFinJeu(grille, prochainjoueur);
}
b=1;
}
affichegrille(grille);
cout<<"Partie finie"<<endl;
system("PAUSE");
return 0;
} |
Partager