C++ Einkaufsliste aber wie?
-
Namenloser324 schrieb:
wie bereits gesagt:
void kampf(std::vector<Monster> Gegnergruppe)
{//hier kannst du deine eigenen Werte benutzen und wenn Monster friend deiner //Klasse ist auch die der Monster
}also ungefähr so?
[code] class Ich { public: status werte; friend class Monster; { } void kampf(std::vector<Monster> Gegnergruppe) { // Kampvorgang } };
[/code]
[code] class Monster { status werte; };
[/code]
Ist das so richtig?
Oder hast du gerade so ein Beispiel welches du posten könntest?Gruss
Nimda4
-
Wieso muss es denn per value sein ?
-
cvcv schrieb:
Wieso muss es denn per value sein ?
Muss es nicht, mir ist jede möglichkeit recht so fern sie Ihren Zweck erfüllt
Gruss
Nimda4
-
Für mich ist einfach das Problem wie ich eine Kampffunktion machen kann, die folgende Sachen kann:
Meine Statuswerte verwendem, die des Gegners.
die methode roll von der kalsse dice verwenden und die ausgegebenen Werte mit den Statuswerten vergleichen.
beispiel:
Ausgabe: meinName, ihr dürft angreiffen.
dice roll() WürfelWürfeln.
wenn WürfelWürfel <=meinAngriff, dann Treffer
sonst ausgabe Troll darf angreiffen...Gruss
nimda4
-
Naja, dazu war doch der Vorschlag mit dem vektor ... ?
... std::vector<Monster> mobs; mobs.push_back(someMobInstance1); // Einfach den Vektor mit den existierenden Instanzen deiner Monster-Klasse befüllen mobs.push_back(someMObInstance2); fight(mobs); // Den befüllten Vektor an deine Kampf-Funktion übergeben ... void fight ( std::vector<Monster>& mobs ) { // Jetzt kannst du hier wunderbar auf die Werte der einzelnen Monster-Instanzen zugreifen und dein komisches Roll-Gedöns da machen ;) }
-
cvcv schrieb:
Naja, dazu war doch der Vorschlag mit dem vektor ... ?
... std::vector<Monster> mobs; mobs.push_back(someMobInstance1); // Einfach den Vektor mit den existierenden Instanzen deiner Monster-Klasse befüllen mobs.push_back(someMObInstance2); fight(mobs); // Den befüllten Vektor an deine Kampf-Funktion übergeben ... void fight ( std::vector<Monster>& mobs ) { // Jetzt kannst du hier wunderbar auf die Werte der einzelnen Monster-Instanzen zugreifen und dein komisches Roll-Gedöns da machen ;) }
o.O wow.
Danke viel mals bin am rumtesten, hab nur noch 2 kleine Probleme:
es sagt mir bei fight(mobs); "error C3861: 'fight': identifier not found."
und was wenn ich ein Objekt einer anderen Klasse mit mehr parametern verwenden möchte? (habs ausprobiert so gehts nicht
)
Gruss
Nimda4
-
Werd mal konkret, bitte. Wenn du die fight-funktion auch für eine andere Klasse haben willst, dann gibt ihr entweder einen 2. Parameter mit einem std::vector<AndereKlasse>& oder du überlädst die Funktion. -> Google.
Zu Deinem Fehler : Forward-Declaration, schreib den die Funktionssignatur vor deine main() :
void fight( std::vector<Monster>& );