Bonjour a vous tous, et oui c'est encore moi, qui vient embêter les autres.
J'ai creer un mini jeu en C avec l'aide des cours de C, mais vu qu'apparemment personne ne connait la réponse, je viens ici.
Mon jeu est constitué de 4 fichiers : un fichier main.c(NON? JURE?), un fichier dico.c et un autre dico.h et un fichier qui est censé être lut du nom de dico.dictionnaire, seulement voilà, dans mon main il m'affiche une erreur avant un if que je ne comprends pas : undifined reference to '_PiocherMot'
Voila mon fichier dico.c
Le main.c
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 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include "dico.h" int piocherMot(char *motPioche) { FILE *dico = NULL; int nombreMots = 0; int numMotChoisis = 0; int i; int caractereLu = 0; dico = fopen("dico.dictionnaire", "r"); if(dico == NULL) return 0; do { caractereLu = fgetc(dico); if(caractereLu == '\n') nombreMots++; }while(caractereLu == EOF); numMotChoisis = nombreAlea(nombreMots); rewind(dico); while(numMotChoisis > 0) { caractereLu = fgetc(dico); if (caractereLu == '\n') numMotChoisis--; } fgets(motPioche, 100, dico); motPioche[strlen(motPioche)-1] = '\0'; fclose(dico); return 1; } int nombreAlea(int nombreMax) { srand(time(NULL)); return (rand() % nombreMax); }
Et enfin le dico.h ou se trouve les prototypes de mes fonctions
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 #include <stdio.h> #include <stdlib.h> #include <string.h> #include "dico.h" int caractereVrai(char mot[], char lettreEntre[], int lettreTrouver[], int tailleMot) { int i; int bonneLettre = 0; for(i=0; i<tailleMot; i++) { if(lettreEntre[0] == mot[i]) { bonneLettre = 1; lettreTrouver[i] = 1; } else if(lettreEntre[0] != mot[i] && lettreTrouver[i] == 0) lettreTrouver[i] = 0; } return bonneLettre; } int gagne(int tableau[], int tailleMot) { int joueurGagne = 1; int i; for(i=0; i<tailleMot; i++) { if(tableau[i] == 0) joueurGagne = 0; } return joueurGagne; } int main() { char mot[100] = {0}; char lettreEntre[2] = ""; int coupsRestants = 10; int i; int *lettreTrouver = NULL; int bonnelettre = 0; int gagner = 0; int tailleMot = 0; if(!piocherMot(mot))//Erreur ICI exit(0); tailleMot = strlen(mot); lettreTrouver = malloc(tailleMot * sizeof(int)); if (lettreTrouver == NULL) exit(0); while(coupsRestants > 0 && gagner == 0) { printf("Il vous reste %d coups\n\n", coupsRestants); printf("Les lettres trouver sont: \n\n"); for(i=0; i<tailleMot; i++) { if(lettreTrouver[i] == 1) { printf("%c", mot[i]); } else { printf("*"); } } printf("\n\nVeuillez entrez une lettre\n"); scanf("%s", lettreEntre); bonnelettre = caractereVrai(mot, lettreEntre, lettreTrouver, tailleMot); if(bonnelettre == 0) coupsRestants--; gagner = gagne(lettreTrouver, tailleMot); } if(gagner == 1) printf("\n\nBravo, vous avez trouver le mot mystere qui etait le (%s)", mot); else printf("\n\nTu es mort et tu n'as pas trouver le mot mystere qui etait le (%s)", mot); return 0; }
Cordialement Qnope
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #ifndef DICO_H_INCLUDED #define DICO_H_INCLUDED int piocherMot(char *motPioche); int nombreAlea(int nombreMax); #endif // DICO_H_INCLUDED
Partager