Utiliser un objet dans une fonction ?

Résolu
Giloulou11 Messages postés 417 Statut Membre -  
Giloulou11 Messages postés 417 Statut Membre -
Bonsoir,

Je suis en train de programmer un genre de mini-RPG en C++ (en suivant mes cours sur Open Classrooms (je précise que je suis débutant)) et j'ai rencontré un problème :

J'aimerais faire en sorte que le joueur aie le choix, entre chaque action, d'attaquer, de changer d'arme, ou de voir l'état des combattants.

Ce choix étant relativement long à coder, j'ai voulu le mettre dans une fonction; seulement voilà :

Je dois faire appel à des objets pour chaque action que le joueur peut choisir, et comme ils ne sont construits que dans main(), je ne peux pas les utiliser dans ma fonction...

Quelqu'un a une solution, ou je vais devoir recopier ce code à chaque fois que le joueur doit faire un choix ?

Merci de vos réponses.

PS : Si je ne suis pas assez clair, je peux envoyer une copie de mon main.cpp :-)

3 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Le problème vient du fait que tu as très peu, voire pas du tout de notion de Programmation Orientée Objet ... ni de la conception d'un programme ...

    Le mieux c'est que tu poses ta question sur le site où tu suis tes cours, parce qu'ils ont du oublier quelques étapes d'apprentissage.
    0
    1. Giloulou11 Messages postés 417 Statut Membre 26
       
      Dois-je comprendre par là que c'est une grossière erreur que d'essayer d'utiliser des objets et des fonctions en même temps et que je dois trouver un autre système ? (Vu que dans une méthode, ça marche pas non plus, j'aimerais quand-même trouver autre chose que de c/c mon code à chaque fois...
      0
    2. Polux31 Messages postés 7219 Statut Membre 1 204
       
      Je n'ai pas dit ça. Sais-tu ce qu'est un contrôleur ? Connais-tu le modèle MVC ?
      0
    3. Giloulou11 Messages postés 417 Statut Membre 26
       
      À vrai dire, pas encore... Je viens juste de commencer la POO (ce "mini-RPG" est le premier exercice que j'ai fait), je n'ai sûrement pas encore les connaissances pour écrire mon code de la meilleure façon possible.
      0
  2. JwTdd
     
    Salut, on y verra un peu plus clair avec ton code.
    0
  3. Giloulou11 Messages postés 417 Statut Membre 26
     
    Finalement, j'ai mis mon bout de code dans une boucle dans main() et ça marche.
    Je ne suis pas sûr que ce soit la meilleure façon de procéder, mais c'est actuellement la seule que je connais.

    Mon problème est donc résolu :-)
    0