programme morpion c
Répondre à la discussion
Affichage des résultats 1 à 21 sur 21

programme morpion c



  1. #1
    invite8e415baa

    programme morpion c


    ------

    Bonjour a tous

    Voila j'ai fais un jeu le Morpion mais j'aimerai bien qu'on m'aide à l'améliorer car il y a au total 450 lignes de code, ce qui fait un peu beaucoup. Et mon programme ne marche pas correctement. Donc si vous pouvez m'aider ça serais sympa.
    Je suis nul en programmation.

    VOILA MON PROGRAMME :


    #include <iostream>
    #include <windows.h> //system cls
    #include <time.h> // pour rand
    #include <stdio.h> // pour Slepp
    #include "conio.h" // couleur


    using namespace std;

    int main()
    {
    // mettre un if pour recommencer si le jeu est fini // si la condition est juste alors on lance une nouvelle partie

    char tab[3][3]={{'.','.','.'},{'.','.','.'}, {'.','.','.'}}; //declare les variables
    long lig,col,v;
    long tour;
    long r;
    srand(time (NULL));

    r = 1;
    v!=1; // pour recommencer une nouvelle partie

    int restart = 1; // permet de recommencer le programme si il y a un gagnan, un perdant ou match nul
    while (restart)

    {



    for (lig = 0; lig < 3 ; lig++) //initialisation du tableau
    {
    for ( col = 0; col < 3; col++)
    {
    tab[lig][col]= ' ';
    }
    }



    tour=-1;
    tour=tour++;

    cout << " Bienvenue dans Tic-Tac-Toe \n" <<endl;

    cout << " 1 2 3 \n";
    cout << " | | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " |_____|_____|_____|\n";
    cout << " | | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " |_____|_____|_____|\n";
    cout << " | | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " | | | |\n";



    do // Joueur a jouer 1
    {
    do
    {

    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes
    textcolor(LIGHTBLUE);
    cin>>lig;


    cout<<"Saisir la colonne: "<<endl;
    textcolor(LIGHTRED);
    cin>>col;

    }while((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste


    }while (tab[lig-1][col-1] != ' ');

    tab[lig-1][col-1]='X';

    for(lig=0; lig<=3; lig++)
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !"<<endl;
    }
    }

    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }

    tour=tour++;

    cout << " 1 2 3 \n";
    cout << " | | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " |_____|_____|_____|\n";
    cout << " | | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " |_____|_____|_____|\n";
    cout << " | | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " |_____|_____|_____|\n";

    cout << " \n";
    cout << "patience, c'est au tour de l'ordi" <<endl;
    cout << " \n";

    Sleep(2000); // temps en millisecondes soit 2s
    do
    {
    lig = rand()%3; // valeur aleatoire jouer par l'ordi
    col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test
    tab[lig][col]='O';

    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    v=1;
    cout<<"gagne !"<<endl;

    }

    }

    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }

    tour=tour++;

    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";

    do // joueur a jouer 2
    {
    do
    {
    cout<<"Saisir la ligne: "<<endl;
    cin>>lig;

    cout<<"Saisir la colonne: "<<endl;
    cin>>col;

    }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste


    }while (tab[lig-1][col-1] != ' '); //saisie sécureiser pour les lignes et colonnes

    tab[lig-1][col-1]='X';


    tour=tour++;

    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";

    cout << " \n";
    cout << "patience, c'est au tour de l'ordi" <<endl;
    cout << " \n";

    Sleep(2000);
    do
    {
    lig = rand()%3;
    col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test
    tab[lig][col]='O';

    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !";
    }

    }

    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }

    tour=tour++;

    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";

    do // Joueur a joue 3
    {
    do
    {
    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes
    cin>>lig;

    cout<<"Saisir la colonne: "<<endl;
    cin>>col;

    }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste

    }while (tab[lig-1][col-1] != ' ');

    tab[lig-1][col-1]='X';

    tour=tour++;

    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";

    cout << " \n";
    cout << "patience, c'est au tour de l'ordi" <<endl;
    cout << " \n";

    Sleep(2000);
    do
    {
    lig = rand()%3;
    col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test
    tab[lig][col]='O';

    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !"<<endl;
    }

    }

    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }


    tour=tour++;

    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " | | |\n";

    do // Joueur a joue 4
    {
    do
    {
    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes
    cin>>lig;

    cout<<"Saisir la colonne: "<<endl;
    cin>>col;

    }while ((lig>=3 && lig<=1)||(col>=3 && col<=1)); //recommencer tant que la condition est juste

    }while (tab[lig-1][col-1] != ' ');

    tab[lig-1][col-1]='X';

    tour=tour++;

    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " | | |\n";

    cout << " \n";
    cout << "patience, c'est au tour de l'ordi" <<endl;
    cout << " \n";

    Sleep(2000);

    do
    {
    lig = rand()%3;
    col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test
    tab[lig][col]='O';

    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !"<<endl;
    }

    }

    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }

    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " | | |\n";


    do // Joueur a joue 5
    {
    do
    {
    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes
    cin>>lig;

    cout<<"Saisir la colonne: "<<endl;
    cin>>col;

    }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste

    }while (tab[lig-1][col-1] != ' ');

    tab[lig-1][col-1]='X';

    tour=tour++;

    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";

    cout << " \n";


    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !"<<endl;
    }
    }

    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }

    if (r=1)
    {
    cout << " voulez vous recommencer une nouvelle partie ? Si oui appuyer une 1 " <<endl;
    cin >> r;
    system("cls" ); // efface tous apres le dernier jeu du joueur
    }
    } // restart
    // mettre } pour if // if
    // do
    return 0;
    }



    Dsl pour les fautes d'orthographe

    Merci d'avance

    -----

  2. #2
    Jack
    Modérateur

    Re : programme morpion c

    Beurk! Pas d'indentation du code. Ca ne donne vraiment pas envie de le lire.

    Indente-le correctement et encadre-le par des balises code si tu veux que quelqu'un se penche dessus.

    A+

  3. #3
    invite8e415baa

    Re : programme morpion c

    Je pense que c'est mieux comme ca :


    Code:
    #include <iostream>
    #include <windows.h> //system cls
    #include <time.h> // pour rand
    #include <stdio.h> // pour Slepp
    #include "conio.h" // couleur
    
    
    using namespace std;
    
    int main()
    {
    // mettre un if pour recommencer si le jeu est fini // si la condition est juste alors on lance une nouvelle partie
    
    char tab[3][3]={{'.','.','.'},{'.','.','.'}, {'.','.','.'}}; //declare les variables
    long lig,col,v;
    long tour;
    long r;
    srand(time (NULL));
    
    r = 1;
    v!=1; // pour recommencer une nouvelle partie
    
    int restart = 1; // permet de recommencer le programme si il y a un gagnan, un perdant ou match nul
    while (restart)
    
    {
    
    
    
    for (lig = 0; lig < 3 ; lig++) //initialisation du tableau
    {
    for ( col = 0; col < 3; col++)
    {
    tab[lig][col]= ' ';
    }
    }
    
    
    
    tour=-1;
    tour=tour++;
    
    cout << " Bienvenue dans Tic-Tac-Toe \n" <<endl;
    
    cout << " 1 2 3 \n";
    cout << " | | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " |_____|_____|_____|\n";
    cout << " | | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " |_____|_____|_____|\n";
    cout << " | | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " | | | |\n";
    
    
    
    do // Joueur a jouer 1
    {
    do
    {
    
    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes
    textcolor(LIGHTBLUE);
    cin>>lig;
    
    
    cout<<"Saisir la colonne: "<<endl;
    textcolor(LIGHTRED);
    cin>>col;
    
    }while((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste
    
    
    }while (tab[lig-1][col-1] != ' ');
    
    tab[lig-1][col-1]='X';
    
    for(lig=0; lig<=3; lig++)
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !"<<endl;
    }
    }
    
    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }
    
    tour=tour++;
    
    cout << " 1 2 3 \n";
    cout << " | | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " |_____|_____|_____|\n";
    cout << " | | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " |_____|_____|_____|\n";
    cout << " | | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " |_____|_____|_____|\n";
    
    cout << " \n";
    cout << "patience, c'est au tour de l'ordi" <<endl;
    cout << " \n";
    
    Sleep(2000); // temps en millisecondes soit 2s
    do
    {
    lig = rand()%3; // valeur aleatoire jouer par l'ordi
    col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test
    tab[lig][col]='O';
    
    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    v=1;
    cout<<"gagne !"<<endl;
    
    }
    
    }
    
    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }
    
    tour=tour++;
    
    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";
    
    do // joueur a jouer 2
    {
    do
    {
    cout<<"Saisir la ligne: "<<endl;
    cin>>lig;
    
    cout<<"Saisir la colonne: "<<endl;
    cin>>col;
    
    }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste
    
    
    }while (tab[lig-1][col-1] != ' '); //saisie sécureiser pour les lignes et colonnes
    
    tab[lig-1][col-1]='X';
    
    
    tour=tour++;
    
    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";
    
    cout << " \n";
    cout << "patience, c'est au tour de l'ordi" <<endl;
    cout << " \n";
    
    Sleep(2000);
    do
    {
    lig = rand()%3;
    col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test
    tab[lig][col]='O';
    
    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !";
    }
    
    }
    
    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }
    
    tour=tour++;
    
    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";
    
    do // Joueur a joue 3
    {
    do
    {
    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes
    cin>>lig;
    
    cout<<"Saisir la colonne: "<<endl;
    cin>>col;
    
    }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste
    
    }while (tab[lig-1][col-1] != ' ');
    
    tab[lig-1][col-1]='X';
    
    tour=tour++;
    
    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";
    
    cout << " \n";
    cout << "patience, c'est au tour de l'ordi" <<endl;
    cout << " \n";
    
    Sleep(2000);
    do
    {
    lig = rand()%3;
    col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test
    tab[lig][col]='O';
    
    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !"<<endl;
    }
    
    }
    
    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }
    
    
    tour=tour++;
    
    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " | | |\n";
    
    do // Joueur a joue 4
    {
    do
    {
    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes
    cin>>lig;
    
    cout<<"Saisir la colonne: "<<endl;
    cin>>col;
    
    }while ((lig>=3 && lig<=1)||(col>=3 && col<=1)); //recommencer tant que la condition est juste
    
    }while (tab[lig-1][col-1] != ' ');
    
    tab[lig-1][col-1]='X';
    
    tour=tour++;
    
    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " | | |\n";
    
    cout << " \n";
    cout << "patience, c'est au tour de l'ordi" <<endl;
    cout << " \n";
    
    Sleep(2000);
    
    do
    {
    lig = rand()%3;
    col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test
    tab[lig][col]='O';
    
    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !"<<endl;
    }
    
    }
    
    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }
    
    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n";
    cout << " | | |\n";
    
    
    do // Joueur a joue 5
    {
    do
    {
    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes
    cin>>lig;
    
    cout<<"Saisir la colonne: "<<endl;
    cin>>col;
    
    }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste
    
    }while (tab[lig-1][col-1] != ' ');
    
    tab[lig-1][col-1]='X';
    
    tour=tour++;
    
    cout << " 1 2 3 \n";
    cout << " | | | \n";
    cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
    cout << " _____|_____|_____|\n";
    cout << " | | |\n";
    cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
    cout << " | | |\n";
    
    cout << " \n";
    
    
    for(lig=0; lig<=3; lig++) // test2
    {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
    {
    cout<<"gagne !"<<endl;
    }
    }
    
    for (col=0; col<=3; col++)
    {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1]))
    {
    cout << "gagne "<<endl;
    }
    }
    
    if (r=1)
    {
    cout << " voulez vous recommencer une nouvelle partie ? Si oui appuyer une 1 " <<endl;
    cin >> r;
    system("cls" ); // efface tous apres le dernier jeu du joueur
    }
    } // restart
    // mettre } pour if // if
    // do
    return 0;
    }

  4. #4
    Jack
    Modérateur

    Re : programme morpion c


  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : programme morpion c

    Il serait bon également de dire ce qui ne marche pas dans ton programme.

    A+

  7. #6
    invite8e415baa

    Re : programme morpion c

    mon programme affiche a chaque fois "gagne" sous mon tableau.
    Puis j'aimerai bien avoir une astuce pour avoir moins de ligne de code, faire en sorte d'afficher une seule fois mon tableau, et je sais pas comment faire pour que mon programme de dise match nul.

  8. #7
    Jack
    Modérateur

    Re : programme morpion c

    Ton code (toujours aussi illisible) ,ne comporte aucune fonction. C'est étonnant!
    Les fonctions permettent notamment de factoriser des lignes de code et de le rendre plus modulaire. regarde de ce côté.

    A+
    Dernière modification par Jack ; 07/12/2012 à 23h00.

  9. #8
    invite8e415baa

    Re : programme morpion c

    comment faire ca ?
    je suis pas très a l'aise en programmation.

  10. #9
    Chanur

    Re : programme morpion c

    Bonjour,
    j'ai juste survolé parce que c'est franchement pénible à lire sans indentations, mais je suis tombé sur 2 aberrations :

    Code:
    v!=1; // pour recommencer une nouvelle partie
    ne fait rien.
    != est un opérateur de comparaison. v!=1 vaut "true" si "v" a une valeur différente de 1 et "false" sinon.
    Ca ne modifie pas la valeur de v. Je présume que tu voulais écrire v = 0; (ou v = !1; c'est pareil).
    Et utilise plutôt des booléens : tu es en C++.

    Code:
    tour=-1;
    tour=tour++;
    est strictement équivalent à tour=0;
    Et la formulation tour=tour++; est plus qu'étrange : ça consiste à copier dans "tour" ce qu'il y avait déjà dans "tour" (donc -1), puis à incrémenter "tour" !
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  11. #10
    Chanur

    Re : programme morpion c

    J'ai compilé ton machin. Je suggère que tu regarde les warnings, et, s'il n'y en a pas, que tu ajoute l'option adéquate au compilateur (je suis sous Linux : je ne sais pas quelles sont les options sur ton compilo).


    Quand cette première version fonctionnera, tu pourras chercher à l'améliorer, mais là, soit tu commence par la debugger, soit tu repart à 0 en tenant compte des remarques qui t'ont été faites (indentations, fonctions, etc.)

    Je n'ai rien compris à l'affichage :
    Code:
     1 2 3 
     | | | | 
     1|   |   |   | Tour :0
     |_____|_____|_____|
     | | | |
     2|   |   |   |
     |_____|_____|_____|
     | | | |
     3|   |   |   |
     | | | |
    Dernière modification par Chanur ; 08/12/2012 à 07h15.
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  12. #11
    invite8e415baa

    Re : programme morpion c

    Je sais pas ce que sais Indentation.
    J'utilise code blocks pour compiler mes programmes.
    Comment faire une indentation ?

  13. #12
    invite8e415baa

    Re : programme morpion c

    Voila j'ai essayé d'indenter du mieux que j'ai pu. J'ai pas indenter vers le mileu pck c'est les meme lignes de code que pour le debut.

    Code:
    #include <iostream>
    #include <windows.h> //system cls
    #include <time.h> // pour rand
    #include <stdio.h> // pour Slepp
    #include "conio.h" // couleur
    
    
    using namespace std;
    
    int main()
    // mettre un if pour recommencer si le jeu est fini // si la condition est juste alors on lance une nouvelle partie { char tab[3][3]={{'.','.','.'},{'.','.','.'}, {'.','.','.'}}; //declare les variables long lig,col,v; long tour; long r; srand(time (NULL)); r = 1; // pour recommencer une nouvelle partie
    int restart = 1;
    // permet de recommencer le programme si il y a un gagnan, un perdant ou match nul
    while (restart)
    {
    for (lig = 0; lig < 3 ; lig++) //initialisation du tableau {
    for ( col = 0; col < 3; col++) { tab[lig][col]= ' '; }
    }
    tour=-1; tour=tour++; cout << " Bienvenue dans Tic-Tac-Toe \n" <<endl; cout << " 1 2 3 \n"; cout << " | | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " |_____|_____|_____|\n"; cout << " | | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n"; cout << " |_____|_____|_____|\n"; cout << " | | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n"; cout << " | | | |\n";
    do {
    do {
    cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes textcolor(LIGHTBLUE); cin>>lig;
    cout<<"Saisir la colonne: "<<endl; textcolor(LIGHTRED); cin>>col;
    }while((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste
    }while (tab[lig-1][col-1] != ' ');
    tab[lig-1][col-1]='X';
    for(lig=0; lig<=3; lig++) {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) ) { cout<<"gagne !"<<endl; }
    }
    for (col=0; col<=3; col++) { if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1])) { cout << "gagne "<<endl; }
    }
    tour=tour++; cout << " 1 2 3 \n"; cout << " | | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " |_____|_____|_____|\n"; cout << " | | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n"; cout << " |_____|_____|_____|\n"; cout << " | | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n"; cout << " |_____|_____|_____|\n"; cout << " \n"; cout << "patience, c'est au tour de l'ordi" <<endl; cout << " \n";
    Sleep(2000); // temps en millisecondes soit 2s do {
    lig = rand()%3; // valeur aleatoire jouer par l'ordi col = rand()%3;
    }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test tab[lig][col]='O';
    for(lig=0; lig<=3; lig++) // test2 {
    if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) ) { v=1; cout<<"gagne !"<<endl; }
    } for (col=0; col<=3; col++) {
    if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1])) { cout << "gagne "<<endl; }
    }
    tour=tour++; cout << " 1 2 3 \n"; cout << " | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n"; cout << " | | |\n";
    do {
    do { cout<<"Saisir la ligne: "<<endl; cin>>lig; cout<<"Saisir la colonne: "<<endl; cin>>col; }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste
    }while (tab[lig-1][col-1] != ' '); //saisie sécureiser pour les lignes et colonnes tab[lig-1][col-1]='X';
    tour=tour++; cout << " 1 2 3 \n"; cout << " | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n"; cout << " | | |\n"; cout << " \n"; cout << "patience, c'est au tour de l'ordi" <<endl; cout << " \n";
    Sleep(2000); do { lig = rand()%3; col = rand()%3; }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test tab[lig][col]='O';
    for(lig=0; lig<=3; lig++) // test2 { if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) ) { cout<<"gagne !"; } }
    for (col=0; col<=3; col++) { if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1])) { cout << "gagne "<<endl; } }
    tour=tour++; cout << " 1 2 3 \n"; cout << " | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n"; cout << " | | |\n"; do // Joueur a joue 3 { do { cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes cin>>lig; cout<<"Saisir la colonne: "<<endl; cin>>col; }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste }while (tab[lig-1][col-1] != ' '); tab[lig-1][col-1]='X'; tour=tour++; cout << " 1 2 3 \n"; cout << " | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n"; cout << " | | |\n"; cout << " \n"; cout << "patience, c'est au tour de l'ordi" <<endl; cout << " \n"; Sleep(2000); do { lig = rand()%3; col = rand()%3; }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test tab[lig][col]='O'; for(lig=0; lig<=3; lig++) // test2 { if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) ) { cout<<"gagne !"<<endl; } } for (col=0; col<=3; col++) { if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1])) { cout << "gagne "<<endl; } } tour=tour++; cout << " 1 2 3 \n"; cout << " | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n"; cout << " | | |\n"; do // Joueur a joue 4 { do { cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes cin>>lig; cout<<"Saisir la colonne: "<<endl; cin>>col; }while ((lig>=3 && lig<=1)||(col>=3 && col<=1)); //recommencer tant que la condition est juste }while (tab[lig-1][col-1] != ' '); tab[lig-1][col-1]='X'; tour=tour++; cout << " 1 2 3 \n"; cout << " | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n"; cout << " | | |\n"; cout << " \n"; cout << "patience, c'est au tour de l'ordi" <<endl; cout << " \n"; Sleep(2000); do { lig = rand()%3; col = rand()%3; }while ( tab[lig][col]=='X' || tab[lig][col]=='O'); //test tab[lig][col]='O'; for(lig=0; lig<=3; lig++) // test2 { if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) ) { cout<<"gagne !"<<endl; } } for (col=0; col<=3; col++) { if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1])) { cout << "gagne "<<endl; } } cout << " 1 2 3 \n"; cout << " | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" |\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" |\n"; cout << " | | |\n"; do // Joueur a joue 5 { do { cout<<"Saisir la ligne: "<<endl; //saisie sécuriser pour les lignes et les colonnes cin>>lig; cout<<"Saisir la colonne: "<<endl; cin>>col; }while ((lig>3 && lig<1)||(col>3 && col<1)); //recommencer tant que la condition est juste }while (tab[lig-1][col-1] != ' '); tab[lig-1][col-1]='X'; tour=tour++; cout << " 1 2 3 \n"; cout << " | | | \n"; cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n"; cout << " _____|_____|_____|\n"; cout << " | | |\n"; cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n"; cout << " | | |\n"; cout << " \n"; for(lig=0; lig<=3; lig++) // test2 { if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) ) { cout<<"gagne !"<<endl; } } for (col=0; col<=3; col++) { if ((tab[0][col-1]==tab[1][col-1]) && (tab[1][col-1]==tab[2][col-1])) { cout << "gagne "<<endl; } } if (r=1) { cout << " voulez vous recommencer une nouvelle partie ? Si oui appuyer une 1 " <<endl; cin >> r; system("cls" ); // efface tous apres le dernier jeu du joueur } } // restart // mettre } pour if // if // do return 0; }[/HR]

  14. #13
    Jack
    Modérateur

    Re : programme morpion c

    Citation Envoyé par tounsy91 Voir le message
    Je sais pas ce que sais Indentation.
    J'utilise code blocks pour compiler mes programmes.
    Comment faire une indentation ?
    Tu ne lis donc pas les réponses que l'on te fait, par exemple mon message #4

    Ce reste très perfectible.

    Et pour les fonctions, tu as regardé?

    A+

  15. #14
    invite8e415baa

    Re : programme morpion c

    j'ai lu ton message #4 mais j'ai pas compris
    Et pour les fonctions, je ne vois pas du tous quoi mettre.

  16. #15
    Jack
    Modérateur

    Re : programme morpion c

    Si tu veux que ce programme soit le tien et pas celui que quelqu'un te fera, je t'encourage à apprendre les bases du langage C, dont les fonctions sont un pillier indispensable.

    j'ai lu ton message #4 mais j'ai pas compris
    Le lien montrait les différents style d'indentation. celle-ci consiste à faire apparaître la structure du programme: boucles, tests, etc afin d'en faciliter la lecture et donc le fonctionnement.

    A+

  17. #16
    Chanur

    Re : programme morpion c

    Je n'ai pas compris pourquoi tu arrêtes d'indenter le code en plein milieu ...
    Mais c'est déjà un peu moins illisible.
    Du coup on voit la forme de certaines boucles.
    Par exemple :
    Code:
    for(lig=0; lig<=3; lig++)
        {
        if( (tab[lig-1][0]==tab[lig-1][1]) && (tab[lig-1][1]==tab[lig-1][2]) )
            {
            cout<<"gagne !"<<endl;
            }
        }
    C'est curieux ... à la première itération, "lig" vaut 0 et tu compares donc les valeurs tab[-1][0] et tab[-1][1]
    Tu vas donc lire à côté de ton tableau.
    Le résultat est au mieux un plantage (malheureusement improbable), au pire indéterminé.
    De toute façon, la boucle for(lig=0; lig<=3; lig++) s'exécutera 4 fois alors que ton tableau a 3 éléments.
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  18. #17
    invite8e415baa

    Re : programme morpion c

    ok merci, c'est deja une errreur en moins
    Et je me suis arreté en plein milieu car enfaite c'est pareil c'est juste recopier 5 fois les premiere ligne de code.
    C'est pour ca que je voulais savoir, comment faire pour ne pas à avoir a recopier 5 fois les meme choses.

  19. #18
    Jack
    Modérateur

    Re : programme morpion c

    C'est pour ca que je voulais savoir, comment faire pour ne pas à avoir a recopier 5 fois les meme choses.
    Créer une fonction et l'appeler autant de fois que tu en as besoin ...

  20. #19
    invite8e415baa

    Re : programme morpion c

    Aurais tu un exemple stp ?

  21. #20
    Jack
    Modérateur

    Re : programme morpion c

    Code:
    void afficheGrille(tab[][])
    {
      cout << " 1 2 3 \n";
      cout << " | | | \n";
      cout << " 1" << "| " << tab[0][0] << " | " << tab[0][1] << " | " << tab[0][2] <<" |" << " Tour :" << tour << "\n";
      cout << " _____|_____|_____|\n";
      cout << " | | |\n";
      cout << " 2"<< "| " << tab[1][0] << " | " << tab[1][1] << " | " << tab[1][2] <<" \n";
      cout << " _____|_____|_____|\n";
      cout << " | | |\n";
      cout << " 3" << "| " << tab[2][0] << " | " << tab[2][1] << " | " << tab[2][2] <<" \n";
      cout << " | | |\n";
    }
    et dans la fonction main, on remplace ces lignes par un appel à la fonction afficheGrille

    Code:
    //bla bla bla
    
      cout << " Bienvenue dans Tic-Tac-Toe \n" <<endl;
    
      afficheGrille(tab);
    
    do // Joueur a jouer 1
    
    //bla bla bla
    A+

  22. #21
    invite8e415baa

    Re : programme morpion c

    Merci beaucoup pour ta reponse.
    C'est bon vous avez presque resolu mes probleme
    merci encore c'est gentil

Discussions similaires

  1. Le morpion solitaire
    Par Samuel9-14 dans le forum Mathématiques du collège et du lycée
    Réponses: 0
    Dernier message: 28/11/2012, 12h03
  2. Morpion en langage C
    Par inviteda8b5dd6 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 23/05/2012, 22h11
  3. programme qui lance un autre programme
    Par invite01c3c114 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 10/02/2011, 12h26
  4. comment utiliser les résultats d'un programme fortran dans un autre programme
    Par invitedb78a3a3 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 30/09/2010, 19h21
  5. Langage C-morpion
    Par invite54cf936c dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 07/01/2010, 16h06