Funktion + main ergibt net das was ich will -.- bitte helfen ;)
-
moin
ich hab die funktion in eine headadatei gepackt:
int angriff(int hp, int atk) { int sum = hp - atk; std::cout<<hp; return sum; }dann in de main hab ich folgendes gschriebe;
#include <iostream> #include "options.h" int main() { std::cout<<"Beginn ..."<<std::endl; int zufall = 1; int atk = 100, hp = 100; int orc_atk = 40, orc_hp = 200; std::cout<<"HP: "<<hp<<std::endl; std::cout<<"Angriff: "<<atk<<std::endl; std::cout<<"\n"<<"Ork-HP: "<<orc_hp<<std::endl; std::cout<<"Ork-Angriff: "<<orc_atk<<std::endl; if(zufall == 1) { std::cout<<"Ork greift an ..."<<std::endl; angriff(hp, orc_atk); std::cout<<"\n\n\nHP: "<<hp<<std::endl; } else { std::cout<<"Du greifst an ..."<<std::endl; angriff(orc_hp, atk); } return 0; }doch wenn ihc nähmlich das Leben ,dass noch vom Angriff übrig ist, ausgeben will,kommt da noch immer das gleiche leben(standard, das anfangsleben bzw. anfangshp)
bitte um hilfe

-
übergib' die funktionsargumente als referenz, vielleicht geht's dann...

-
Du gibst zwar irgendwas aus angriff() zurück, lässt es aber einfach verfallen.
@vista: Bei genauerem Hinsehen fällt auf, dass das nichts bringt wenn die Parameter kein bißchen in der Funktion verändert werden

MfG SideWinder
-
SideWinder schrieb:
@vista: Bei genauerem Hinsehen fällt auf, dass das nichts bringt wenn die Parameter kein bißchen in der Funktion verändert werden

hast recht, ist mir auf den ersten blick nicht aufgefallen...
-
short attac(const short health_points, const unsigned short attac) { short sum = health_points - attac; std::cout << sum << std::endl; return sum; } const unsigned short human_health_points = 100; const unsigned short human_attac_damage = 100; const unsigned short orc_health_points = 200; const unsigned short orc_attac_damage = 40; int main() { short hp_human = human_health_points; short hp_orc = orc_health_points; std::cout << "Beginn ..." << std::endl; std::cout << "Human - HP: "<< hp_human << std::endl; std::cout << "Human - Attac: " << human_attac_damage << std::endl; std::cout << "Ork - HP: " << hp_orc << std::endl; std::cout << "Ork - Attac: " << orc_attac_damage << std::endl; std::cout<<"Ork greift an ..."<<std::endl; hp_human = attac(hp_human, orc_attac_damage); std::cout << "Human - HP: " << hp_human << std::endl; return 0; }ist nur die Frage wo der Sinn ist ...