|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 7 ![]() |
Bonjour,
Voila je débute en C++ et j'essais de faire un petit programme, un petit jeu pour vraiment apprendre les bases du C++ (c'est en forgeant qu'on devient forgeron ^^'). Dans l'idée consiste a faire un petit jeu car avec le concept de joueur et tout, on peut vraiment utiliser les concepts de classe, objet, attributs...etc. Je me suis confronté à un petit problème, Voici le code: Code :
Je suppose que ça a un rapport avec la portée du bloc mais je ne sais pas comment le contourner, So HELP PLEASE ! |
||
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() ![]() Inscription : décembre 2008 Messages : 490 ![]() |
Comme dans ton cas le nombre de joueur n'est connu qu'à l'exécution, il vaut mieux un conteneur de type std::vector :
Code :
|
||
|
|
00
|
|
|
#3 | |||
|
Membre éprouvé
![]() Étudiant Inscription : juin 2012 Messages : 266 ![]() |
Citation:
Comme dit @cob59, stockes tes joueurs dans un vector. |
|||
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Alexandre Technicien réseau Inscription : décembre 2012 Messages : 39 ![]() |
Bonjour
J'aimerais aussi ajouter une précision, j'espère que le code que tu as mis est séparé dans plusieurs fichiers, ca aide toujours pour s 'y retrouver après. Le main dans main.cpp, le prototype de la classe Player dans player.h et l'implémentation des méthodes de ta classe Player dans player.cpp, par exemple. Et aussi : Pour ta création d'objet, pourquoi ne pas faire un boucle, qui en fonction du nombre entré, te génère n objets ? Cela t'évitera d'écrire un switch fastidieux, si à l'avenir tu gères la création de beaucoup d'objets. Voila bon courage pour ton mini jeu
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 7 ![]() |
Bonjour a tous !
J'ai fait ce que @Iradrille et @cod59 m'ont dit, et effectivement ça marche ! Mercii !! et pour @Vespiras Merci pour tes conseils, j'avais lu ça quelque part de toujours séparer la déclaration d'une classe, sa définition, et le main ![]() Par contre j'ai du ajouter le: même si j'avais fait le: je ne sais pas pourquoi mais sans ça il ne reconnaissait pas le type vector, Petite explication peut être? ^^' Sinon je tiens a vous remercier encore, je vais pouvoir avancer dans mon petit jeu |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Alexandre Technicien réseau Inscription : décembre 2012 Messages : 39 ![]() |
L'explication est simple :
Quand tu fais un #include dans un programme en C, tu inclus des "headers", autrement appelés des fichiers d'en-têtes, dans ton programme. Ces fichiers contiennent des méthodes et fonctions particulières. Par exemple, un #include <iostream>te permet d'utiliser par la suite les flux d'entrées/sorties de base du C++. ( par exemple cout , cin ... ). Ici, pour l'utilisation des vectors, tu es donc obligé d'inclure <vector> pour pouvoir les utiliser. Vois ça comme des librairies. Et pour la precision, le using namespace std; te permet de ne pas avoir à réécrire à chaque fois std:: devant chaque appel de méthode de la classe iostream. Bonne journée |
|
10
|
|
|
#7 |
|
Membre éclairé
![]() ![]() Caissier Inscription : décembre 2012 Messages : 206 ![]() |
Dernière petite chose sur le using namespace std, ne l'utilise que dans tes fichiers source : ".cpp". Dans le header serait le rendre accessible partout, pour cela utilise std::vector ! Bonne continuation !
|
|
|
10
|
Copyright © 2000-2013 - www.developpez.com