Bonjour,
J'ai une classe "awale", qui possède des méthodes, dont "prendre_graines()". Cette méthode est utilisée dans une autre méthode d'une autre classe "joueur"... Mon soucis est que je n'arrive pas à mettre cela en place :S
Voici mon code :
Forcément, l'appel des méthodes "nb_graines()", "prendre_graines()", et "ajouter_graine()" déclenche une erreur de compilation.
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 #include <iostream> using namespace std; class awale { private: int i; int jeu[12]; public: awale() { for(i=0;i<12;i++) { jeu[i]=4; } } void afficher() { for (i=0;i<6;i++) { cout << jeu[i] << ' '; } cout << endl; for (i=6;i<12;i++) { cout << jeu[i] << ' '; } cout << endl; } int nb_graines(int n) { return jeu[n]; } float prendre_graines(int n) { jeu[n]=0; } float ajouter_graine(int n) { jeu[n]++; } }; class joueur { private: awale mon_awale; int score; public: joueur() { score=0; } bool jouer(int n) { if (nb_graines(n)!=0) { int m=n; int nb=nb_graines(n); prendre_graines(n); for (int i=1;i<=nb;i++) { m++; if (m==12) { m=0; } ajouter_graine(m); } while ((nb_graines(m)==2 || nb_graines(m)==3) && m>=0 && m<6) { score+=nb_graines(m); prendre_graines(m); m--; } } else { return false; } } }; int main() { awale jeu; joueur joueur1; int n; jeu.afficher(); do { cin >> n; n+=5; joueur1.jouer(n); } while (n>0 && n<=6); return 0; }
Quelqu'un pourrait me donner un coup de main? Merci d'avance!
PS : je sais qu'il faut que je sépare mes classes dans des fichiers .h et .cpp, mais je voudrais régler ce soucis là avant....
Partager