Bonjour,
J'essaye de faire en morpion en c++ mais quand j'exécute le programme, il est impossible de gagner la partie malgré le conditions que j'ai mises. J'ai beau aligner mes trois caractère, rien y fait.
Je vous donne donc mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}
Merci de votre aide