Frage zu OOP
-
Guten Morgen an alle Forenmitglieder.
Ich habe ein Problem. Ich möchte gerne ein Spiel programmieren. Ich habe dazu auch schon eine Idee. Nur mit der KLassenstruktur habe ich einige Probleme. Es soll verschiedene Mannschaften geben, die in einer Liga gegeneinander spielen. Jede Mannschaft besteht aus max 12 spielern und einem trainer. der trainer soll die möglichkeit haben trainingseinheiten zu organisieren, um die fähigkeiten der spieler zu verbessern. das bedeutet es gib eine klasse spieler, trainer und mannschaft ( erstmal). so und nun beginnt auch scon das problem.
Möglichkeit 1 :
ich speichere in hedem spieler und trainer objekt eine refernz zu der mannschaft, zu der sie gehören.
Möglichkeit 2:
in jeder mannschaft gibt es eine refernz für jeden trainer und spieler.bei möglichkeit1 und 2 ist dann die frage ob man in einer globalen klassen ( applikation) auch eine refernz auf alle objekte (trainer, spieler, mannschaft) speichern sollte. wenn ja ist da nihct redundant?
Im weitern verlauf soll später noch ein transfermarkt hinzu kommen. das bedeutet mannschaft A ( der trainer oder manager ) soll bzw. kann auf spieler der mannschaft B zurückgreifen ( um angebote abzugeben). so und nun noch mal die frage :
möglichkeit 1 oder 2 ?Vielen dank[cpp]
-
Hey erst mal guten Morgen,
du könntest es auch mit einbettung lösen.
Die klasse mannschaft beinhaltet zum beispiel einen vector mit spielern. Und einfach ein trainer objekt.
So kannst du später die spieler auch leicht löschen und in einen anderen verein setzen.
Wäre jetzt mal mein vorschlag;-)gruß freeG
-
Danke für deine Antwort. Ja so habe ich das bis jetzt auch implementiert. Also würdest du mir abraten davon jeder Person eine refernz auf seine mannschaft zu geben,
und wenn ich zusätzlich noch eine referenz in jedem objekt speichere. das wäre dann bidirektinonal
-
Fischkopf2009 schrieb:
Also würdest du mir abraten davon jeder Person eine refernz auf seine mannschaft zu geben,
Nein, das hat er nicht gesagt dass er dir davon abraten würde.
und wenn ich zusätzlich noch eine referenz in jedem objekt speichere. das wäre dann bidirektinonal
Das wäre es, und es kann durchaus Sinn machen, wenn ein Spieler seine Mannschaft kennt, z.B. wenn er darüber seine Teamkameraden "ansprechen" kann.
-
pumuckl schrieb:
Fischkopf2009 schrieb:
Also würdest du mir abraten davon jeder Person eine refernz auf seine mannschaft zu geben,
Nein, das hat er nicht gesagt dass er dir davon abraten würde.
und wenn ich zusätzlich noch eine referenz in jedem objekt speichere. das wäre dann bidirektinonal
Das wäre es, und es kann durchaus Sinn machen, wenn ein Spieler seine Mannschaft kennt, z.B. wenn er darüber seine Teamkameraden "ansprechen" kann.
Genau;-)
Ich wollte dir davon nicht abraten, sondern dir nur sagen dass ich persönlich es mit Einbettung lösen würde=)Und wie pumuckl schon sage kann es durch aus auch sinnvoll sein trotzdem in jedem Objekt eine Referenz zu speichern.
Kommt eben drauf an ob jeder Spieler wissen muss wo er spielt oder nicht?
Willst du zum Beispiel jedem Objekt Spieler ne Funktion geben, die alle Daten über ihn ausgibt, eben zum Beispiel auch wo er gerade spielt, dann wäre es natürlich sinnvoll;-)gruß freeG
-
pumuckl schrieb:
und wenn ich zusätzlich noch eine referenz in jedem objekt speichere. das wäre dann bidirektinonal
Das wäre es, und es kann durchaus Sinn machen, wenn ein Spieler seine Mannschaft kennt, z.B. wenn er darüber seine Teamkameraden "ansprechen" kann.
Und noch krasser formuliert:
Auf dem Platz wäre es doch nicht schlecht, wenn jeder Spieler wüsste für welche Mannschaft er aufläuft. Gut, der Trainer kann Kommandos geben, in welche Richtung jeder Spieler laufen und schießen soll - Um Eigentore zu verhindern.
Dann lass aber mal die Sportrichter den Trainer für ein paar Spiele sperren, wegen grob unsportlichem Verhaltens. Gute Nacht! Chaos pur, denn die Spieler können sich nicht selbst koordinieren.Wie ich es lösen würde hab ich in dem anderen Thread schon geschrieben - heißt nicht dass du es so machen musst.