Bloqué sur mon programme relativement simple. - C++ - Programmation
Marsh Posté le 08-02-2016 à 13:18:55
Ligne 29
Tu ne stockes pas la valeur retournée dans une variable.
Au passage, si c'est pour faire ce genre de structure de programme, laisse tomber le C++ et fait juste du C.
Par ailleurs mettre des break et des return en plein milieu comme tu le fais, c'est un coup à avoir pleins de bugs. Il faut mettre en place des structures de contrôles propres dans tes boucles; en gros, que les critères d'arrêts soient clairs quitte à utiliser des booléens dont la valeur changera en fonction de tests réalisés dans le corps de la boucle. Mais au moins, qu'on ait tous les critères d'arrêt au même endroit.
Ex :
if (pvJ < pvmax) {
aSubiDegats = TRUE; // TRUE = 1
}
else if (pvJ < 0) {
estEvanui = TRUE;
}
Et dans ton while, tu mettras !aSubiDegats et !estEvanui.
Edit : j'avais pas vu la ligne 30. Mais du coup, pourquoi conserver la ligne 29 Du coup, je pense que ça vient de tous des critères de sortie de boucle ou de return multiples. Tu dois probablement pas passer là où tu penses.
Rappel : une fonction, un seul return. Et le break, c'est que pour le switch()
Marsh Posté le 08-02-2016 à 14:56:12
Bonjour,
Merci à toi pour ta réponse..
Pour les break ,a vrai dire notre prof nous avait apprit ça comme ça et après m'être pas mal documenté et ainsi qu'avec ton aide, ça paraît beaucoup plus logique.
Je vais refaire ça de mon coté et si jamais j'ai encore un soucis je reviendrais vers vous, mais un grand merci à toi.
Marsh Posté le 08-02-2016 à 15:02:14
"a vrai dire notre prof nous avait apprit ça comme ça" -> c'est une honte d'enseigner des structures comme ça
Marsh Posté le 08-02-2016 à 15:03:57
Bah le prof est pas prof de programmation et tout ce qu'il fait en cours c'est distribuer un paquet de feuille, le lire, et parfois il découvre des trucs lui même.
Marsh Posté le 08-02-2016 à 16:46:27
Dans ce cas c'est une honte qu'il soit prof tout court
Il y a vraiment de meilleures façons de structurer un algo et la logique générale d'un programme, celle là est ce qui mène le plus vite à la confusion et à des bugs vicieux, et je ne parle même pas de la maintenabilité...
Marsh Posté le 08-02-2016 à 01:12:18
Bonjour,
Je me suis lancé sur la création d'un petit jeu utilisant la console pour débuter a voler de mes propres ailes en C++ (après quelques cours très scolaires et mal expliquer en ISN).
Ainsi je suis plutôt fier de mon petit programme que j'ai réalisé en peu de temps..
Mais j'ai voulus implémenter une variable de monnaie, passant par une fonction simple.
J'utilise cette fonction dans ma fonction de "combat" de mon mini jeu, j'ai pas mal brodé autour parce que je suis bloqué dessus depuis quelques heures :
Là mon programme m'affiche bien la valeur de la fonction "sous" (qui a un nom très original d'ailleurs, il faut le dire !).
Mais c'est dans mon main que tout cela me casse les bonbons.
Exemple d'un cas 1 pour un combat :
Et alors mon problème c'est que j'aimerais que "coins" soit à la valeur de ma fonction sous, mais j'arrive pas a récuperer une bonne valeur.
Pourtant dans la fonction combat j'ai bien dummy = 86 (par exemple) j'arrive bien a récuperer la valeur... mais alors dans le main y'a pas moyen.
Si quelqu'un pourrait m'expliquer comment faire, pas juste me donner une réponse s'il vous plaît.
Merci bien !
Cordialement,
Aizekyel.
PS : Je conçois que ça puisse paraître très simple pour certains mais je suis a mes débuts en C++.