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 :
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 :
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 :
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 :
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..
Partager