Guten Tag,
Ich bin immernoch an meinem kleinen Bomberman und habe schon n paarmal neu angefangen, wie das halt so ist am anfang
, und steh immernoch irgendwie an derselben Frage..
Nun, ich habe hier eben mein Bomberman, hab es ganz ganz am Anfang aufgeteilt in 4 Klassen:
Wobei jede Klasse ihre eigenen Funktionen hat:
- Graphics
- DrawMap
- DrawPlayer
- MovePlayer
Nun habe ich es hingebracht das das Spiel läuft, aber bis jetzt immer unschön, will heissen das ich es zwar geschafft habe indem ich:
- Alles in Funktionsübergaben gepackt habe.
- Das Game Objekt überall übergeben habe (also wirklich fast jede Funktion hatte das Game Objekt als übergabeparameter..).
- Alles global deklarieren.
Nun, ich habe sehr sehr viel gelesen in letzter Zeit über C++, und irgendwie hab ich einfach im Kopf das:
- Man sollte wenn möglichst OHNE Funktionsübergabe auskommen.
- Man sollte ALLES über getFunktionen (Will heissen man sollte alles abfragen können von den anderen Klassen) kriegen.
- OHNE globale Variablen auskommen!
Nun versuche ich jetzt mein Projekt irgendwie mit denen Voraussetzungen, wobei ich mir ehrlich gesagt nichtmal sicher bin ob das überhaupt das richtige ist, aber wie auch immer man lernt ja am besten aus Fehlern
Jetzt mal zu meinen ersten Fragen, wieweit bin ich bis hier hin zum Text aufm richtigen Weg? Ist es wirklich richtig das man sowenig wie möglich über Funktionsübergaben regelt?
So, und wenn das oben stimmt, wie kann ich von
die
Funktion aufrufen ohne auch nur eine Funktionsübergabe?
Ich brauch ja vom Player aus das Objekt das schon vorher in der Graphics Klasse das Fenster aufgemacht hat, und wie soll ich das bitte rausfinden ohne übergabe? irgendwie steh ich auf nem Schlauch..
Auch zum Abfragen was das Objekt sein könnte, brauch ich ja das Objekt das eben das Graphics objekt kreiert hat, und das wäre ja wieder eine übergabe...
Ich weis schon das ich es lösen könnte über andere Wege, aber ich wills jetzt einfach so erreichen wie es im schönsten Fall ist!
Vielen Dank fürs Antworten!