Utilisation des méthodes de classe dans une autre classe
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 :
Code:
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;
} |
Forcément, l'appel des méthodes "nb_graines()", "prendre_graines()", et "ajouter_graine()" déclenche une erreur de compilation.
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....