Fragen zu eigener Gameengine
-
Hi,
ich bin gerade dabei, mein erstes Spiel zu programmieren. Dabei kommen die SDL, C++, gcc und eine selbst geschriebene kleine 2D-Engine zum Einsatz.
Zum Spiel: Das ganze soll eine Art 2D-Spaceshooter werden, nur dass man die Feinde mit einem Helikopter abknallt.

Hier gibt es ein vereinfachtes UML-Diagramm
Zur Erklärung: Alle verwendeten Bilder, Sounds etc. werden in Form von Ressourcen-Objekten verwaltet, alles, was man zeichnen kann, muss das Interface IRenderable implementieren, der ActivePictureSprite und seine Kinder haben im Unterschied zum PictureSprite collision handling.
Allgemeine Vorschläge und Kritik am Design sind natürlich erwünscht, ich habe aber ein paar "spezielle" Fragen: Es gibt ein paar Objekte, wie z.B. die Instanz des EnemyManagers, des HeliShotManagers, der Helicopter-Klasse etc. etc., die irgendwie aufbewahrt werden müssen, um zugänglich zu sein. Ich könnte das natürlich als Klassenvariablen der Engine-Klasse machen oder global, aber das wäre IMHO zu unflexibel. Ich habe mir auch schon überlegt, eine Map zu machen, sodass ich dann z.B. bei einem Tastendruck sagen kann Entities["Heli"]->moveRight();.
Was würdet ihr vorschlagen?
ts.
-
Unter der Annahme, dass diese Manager jeweils nur einmal existieren sollen,
könntest du Singletonklassen verwenden, oder nicht?
-
hi, ich schätze, das hier ist in etwa das gleiche Problem, also geh ma: