Salut !

J'ai un projet de puissance 4 à rendre pour la rentrée.
Bref, quasiment tout est fait, sauf la partie sauvegarde (consigne à faire). Ou je dois pouvoir sauvegarder une partie, qu'elle soit entre deux joueurs ou entre un joueur et l'IA.

J'ai donc créé une fonction à laquelle je veux passer ma structure mais ça ne marche pas.

Au début du jeu, j'ai créé cette structure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
typedef struct {
        char nom[LGNAME];
        int score;
        } jouer; /* Structure joueur contenant le nom du joueur, son score */
(Je l'ai mis en dehors du main au dessus des prototypes)

Plus tard, je fais ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
jouer joueur[2];
    joueur[0].score = 0;
    joueur[1].score = 0;
Je crée donc un tableau de deux joueurs.
Lorsque le gars choisi le mode deux joueurs, le programme invite les deux joueurs à entrer leurs noms; sinon, (contre l'ordi), le joueur[0] se voit demander son nom, et l'autre est initialisé à 'P''C''\0'..
Bref, tout va bien jusqu'ici.

Mais depuis que j'essaie de créer ma fonction pour sauvegarder le jeu (je commence à la faire), j'ai des soucis.

Voici mon prototype de fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
void Backup (char mode, char ia, struct jouer *joueur, int who_is, int c[]);
La fonction prend en paramètre le mode choisi (contre le pc ou à deux) qui est un char, le niveau de l'intelligence artificielle qui est un char (à 0 si le mode n'a rien à voir avec l'ia), who_is qui représente le joueur qui doit jouer à ce moment-là, et c[] : un tableau de 8 indices. j'ai un puisance 4 de 8x8. Pour chaque colonne, le c[] prend la valeur de la première case libre (jouable par l'utilisateur ou l'ia).
Voilà, le problème se situe hélas avec la structure.

Voici l'appel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if (c_choisie == 's' || c_choisie == 'S') {Backup (mode, ia, &joueur, a_qui_le_tour, c);}
(J'avais mis sans & devant joueur au départ, mais ça ne change rien ..)

Et voilà, des erreurs : inconflicting types, etc..

Merci beaucoup pour votre aide..