| Classes, définir une valeur avec "void" | |
|
|
Auteur | Message |
---|
TNToon
Nombre de messages : 8 Date d'inscription : 22/04/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Classes, définir une valeur avec "void" Mer 3 Mai à 9:10 | |
| Bonjour, me revoilà, autre "projet", autre question ![Wink](https://2img.net/i/fa/i/smiles/icon_wink.gif) . Voilà je voudrais créer un systeme de combat en ligne de commandes en utilisant des classes pour les types de combattant. Seulement, j'ai quelques petits problèmes expliqués en commentaires (si vous ne comprenez pas ma question ou le problème, demandez-moi) : - Code:
-
class Guerrier { private : int pv; int degats; string nom; public : Guerrier(int, int, string); void initPV(); }; Guerrier::Guerrier(int p, int d, string n) { p=pv; d=degats; n=nom; } void Guerrier::initPV() { pv=100; }
/*... Presque le meme code avec le deuxieme type de personnage sauf que initPV() donne pv=80 ... */
int main() { int choix; int pv,degats; string nom; cout << "Choisissez la guilde votre personnage :" << endl; cout << " 1] Guerrier" << endl; cout << " 2] Mage" << endl; cin >> choix; if (choix==1) { Guerrier player(pv,degats,nom); } else if (choix==2) { Mage player(pv,degats,nom); } else { cout << "Vous avez provoquez une erreur, relancez le programme." << endl; system("pause"); return 0; } player.initPV(); // PROBLEME : il me dit que player n'est pas déclaré... cout << "Vous avez " << pv << " PV." << endl; // PROBLEME : pv affiche une valeur exorbitante... system("pause"); return 0; } Normalement, une variable affiche n'importe quelle valeur quand elle n'est pas initialisé mais là ? Avec initPV(), ça ne marche pas ? Si quelqu'un trouve la solution à mon problème... ![Wink](https://2img.net/i/fa/i/smiles/icon_wink.gif) | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
TNToon
Nombre de messages : 8 Date d'inscription : 22/04/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" Mer 3 Mai à 9:47 | |
| J'ai continuer et je remarque que si je met 'int pv" en "public" (dans la classe) et en l'appelant dans le main par "player.pv", ça marche. Pas moyen de faire pareil sans tapez à chaque fois "player.pv" ? | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
countag
Nombre de messages : 57 Date d'inscription : 10/02/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" Mer 3 Mai à 14:49 | |
| Bon je vais essaier de te répondre malgré que je ne sois pas un expert alors : déjà on commence par le int main : - Code:
-
int choix; int pv,degats; string nom; tu ne les initialise pas donc tu as des valeurs aléatoire Ensuite un problème étrange pour moi mais bon il ne trouve pas player car il n'est pas crée encore donc il faut que tu fasse ton player.initPV() dans les conditions de cette facon : - Code:
-
if (choix==1){ Guerrier player(pv,degats,nom); player.initPV(); cout << "Vous avez " << pv << " PV." << endl; } else if (choix==2){ Mage player(pv,degats,nom); player.initPV(); cout << "Vous avez " << pv << " PV." << endl; }
si tu l'initialise après les conditions lors de la compilation il ne sait pas la valeur de choix donc il ne crée pas de player et il est inconnu pour lui (enfin je pense) ce n'est pas fini ![Smile](https://2img.net/i/fa/i/smiles/icon_smile.gif) une erreur d'inatention : - Code:
-
Guerrier::Guerrier(int p, int d, string n) { p=pv; d=degats; n=nom; }
tu as inversé les valeurs, ce n'est pas p=pv mais pv=p, car en faites tu fais ceci : 80 = variable_non_initialise et il faut faire : variable = 80 - Code:
-
Guerrier::Guerrier(int p, int d, string n) { pv=p; degats=d; nom=n; }
et puis un conseil si tu comptes rajoute des races : ne fais pas des : if else if else if mais plutôt un switch(choix). j'ai peut être dis des betises mais je pense que avec ceci, ca devrait marcher ![Smile](https://2img.net/i/fa/i/smiles/icon_smile.gif) | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
TNToon
Nombre de messages : 8 Date d'inscription : 22/04/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" Jeu 4 Mai à 7:11 | |
| Bon, en faisant un mélange des nouvelles choses que j'ai trouvé et de ce que tu m'as appris , j'obtiens un truc assez convaincant, merci ! Enfin c'est en lignes de commandes mais bon... J'suis content moi ![Razz](https://2img.net/i/fa/i/smiles/icon_razz.gif) . ![Wink](https://2img.net/i/fa/i/smiles/icon_wink.gif) | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
countag
Nombre de messages : 57 Date d'inscription : 10/02/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" Jeu 4 Mai à 10:20 | |
| tu peux poster tes sources, on pourra te conseiller et t'aider si tu veux ![Smile](https://2img.net/i/fa/i/smiles/icon_smile.gif) | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
TNToon
Nombre de messages : 8 Date d'inscription : 22/04/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" Jeu 4 Mai à 13:22 | |
| En fait, mon code fait 950 lignes..... C'est un succession de if ou de switch.... En fait je crois que j'ai fait un jeu pour le cas ou le joueur est un "guerrier", un cas ou le joueur est un... etc... On peut l'éviter ? | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
countag
Nombre de messages : 57 Date d'inscription : 10/02/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" Jeu 4 Mai à 13:50 | |
| et bien compresse tes fichiers source et up les sur un ftp (ton perso par exemple) ca sera plus facile pour t aider ![Smile](https://2img.net/i/fa/i/smiles/icon_smile.gif) | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
TNToon
Nombre de messages : 8 Date d'inscription : 22/04/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" Sam 6 Mai à 5:24 | |
| Oui je vais le faire, mais là je refonde mon systeme de combat, je vous tiens au courant ![Razz](https://2img.net/i/fa/i/smiles/icon_razz.gif) . | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
TNToon
Nombre de messages : 8 Date d'inscription : 22/04/2006
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" Sam 6 Mai à 11:02 | |
| Bien voilà, j'ai fini. Le fichier source est très peu commenté mais je pense ne plsu avoir besoin d'aide. Il reste peu être quelques bugs mais je viens de finir sans trop trop tester ![Embarassed](https://2img.net/i/fa/i/smiles/icon_redface.gif) . Source : http://jujucorb.club.fr/main.cpp Exe : http://jujucorb.club.fr/Projet1.exe | |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
Contenu sponsorisé
![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | Sujet: Re: Classes, définir une valeur avec "void" ![Classes, définir une valeur avec "void" Empty](https://2img.net/i/empty.gif) | |
| |
|
![Aller en bas](https://2img.net/i/empty.gif) | |
| Classes, définir une valeur avec "void" | |
|