IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Erreur pour un jeu


Sujet :

C

  1. #1
    Membre confirmé

    Homme Profil pro
    Étudiant Réseaux et Télécoms
    Inscrit en
    Octobre 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant Réseaux et Télécoms
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 121
    Par défaut Erreur pour un jeu
    Bonjour à tous,

    Voilà, il m'appris d'essayer de faire le jeu du morpion en mode console

    Mais mon programme s'arrête à la demande du deuxième tableau

    Mon programme se trouve en pièce jointe! Toutes les fonctions utilisées se trouvent au début de mon fichier source.

    Merci de votre aide!
    Fichiers attachés Fichiers attachés
    • Type de fichier : c main.c (2,7 Ko, 73 affichages)

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Ton compilateur devrait te donner quelque warning :
    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
    10-02-26.c: In function 'Initgrille':
    10-02-26.c:9: warning: assignment makes integer from pointer without a cast
    10-02-26.c: In function 'Demander1':
    10-02-26.c:31: warning: assignment makes integer from pointer without a cast
    10-02-26.c: In function 'Demander2':
    10-02-26.c:41: warning: assignment makes integer from pointer without a cast
    10-02-26.c: In function 'Verification':
    10-02-26.c:51: warning: format '%s' expects type 'char *', but argument 2 has ty
    pe 'int'
    10-02-26.c:51: warning: format '%s' expects type 'char *', but argument 2 has ty
    pe 'int'
    10-02-26.c: In function 'main':
    10-02-26.c:87: warning: passing argument 2 of 'Verification' makes integer from
    pointer without a cast
    10-02-26.c:92: warning: passing argument 2 of 'Verification' makes integer from
    pointer without a cast
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void Initgrille(char grille[]) //Afin d'initialiser mon tableau
    {
        int i;
    /*    for(i=0;i<8;i++) */
        for(i=0;i < 9;i++) /* ton tableau fait 9 cases, pas 8 */
        {
    /* --  grille[i]=" "; */
             grille[i]=' '; /* les signes ' et " sont différents en C*/ 
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void Demander1(char joueur[],char grille[]) /* idem dans Demander2*/
    {   
        /* ... */
        grille[numerocase]='x'; /* ' pas " */
        /* ... */
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     /* problème ici : joueur est de type char * ou char [] pas char */
    int Verification(char grille[],char joueur)

    Après, tu a un problème dans la vérification du code : tu test par exemple si grille[0] égale grille[1] égale grille[2], mais cette condition sera vrai si la grille ne contient ni x ni o.
    Solution, modifier Verification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int Verification(char grille[], char *joueur)   //Ici, je vérifie si un joueur a réussi
    {
        int resultat = 0;
        if ((grille[0] == grille[1] && grille[1] == grille[2] && grille[1] != ' ') ||
            (grille[0] == grille[3] && grille[3] == grille[6] && grille[3] != ' ') ||
            (grille[0] == grille[4] && grille[0] == grille[8] && grille[0] != ' ') ||
            (grille[2] == grille[5] && grille[2] == grille[8] && grille[2] != ' ') || 
            (grille[2] == grille[4] && grille[2] == grille[6] && grille[2] != ' ') ||
            (grille[6] == grille[7] && grille[6] == grille[8] && grille[6] != ' ')) {
            printf("%s a gagne", joueur);
            resultat = 1;
        }
        return resultat;
    }

  3. #3
    Membre confirmé

    Homme Profil pro
    Étudiant Réseaux et Télécoms
    Inscrit en
    Octobre 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant Réseaux et Télécoms
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 121
    Par défaut
    Merci beaucoup pour votre rapidité et votre claireté!

    Je vais retravailler tout çà car beaucoup trop de fautes à mon gout!

Discussions similaires

  1. Menus en OpenGL pour un jeu?
    Par shifty.net dans le forum OpenGL
    Réponses: 7
    Dernier message: 02/07/2004, 12h38
  2. Réponses: 6
    Dernier message: 30/06/2004, 08h16
  3. [DOM] Erreur pour valider une DTD
    Par lenghh dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 19/05/2004, 18h15
  4. [Threads]Comment les organiser pour un jeu du serpent ?
    Par Pill_S dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 11/05/2004, 15h22
  5. Quel style de DirectX pour un jeu 2D ?
    Par delire8 dans le forum DirectX
    Réponses: 34
    Dernier message: 31/07/2003, 00h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo