Man könnte also genau das gleiche erreichen, wenn man also in die main Funktion schreibt...
Nein, das widerspräche den von mir genannten Punkten.
Ok. Also im Grund gibt es kein perfektes Beispiel wie man es machen sollte...
Es gibt verschiedene Design-Patterns. Die hat Schorsch ja schon verlinkt.
Das Design ist also nur für die Übersicht des Programmierers und für die Flexibilität des Codes gedacht und nur zweitrangig.
Wichtiger als sauberer Code ist, dass Dein Spiel überhaupt läuft. Schon, ja. Diesen Satz wirst Du von mir in Bezug auf die Software, die wir hier in der Firma schreiben, aber ganz sicher nie hören. Wir gehen davon aus, dass die Software in jedem Fall irgendwann läuft, denn dafür werden wir bezahlt. Also müssen wir uns eher Sorgen darum machen, dass der Code auch sinnvoll und brauchbar ist und nicht total zerfrickelter Quatsch, den hinterher kein Mensch mehr pflegen kann.
Wenn das Design nicht für die Übersichtlichkeit und Flexibilität gedacht ist, für was dann? Das Programm interessiert sich nicht dafür wie sein Code aussieht. Das Programm läuft oder läuft nicht, egal mit welchem Design. Ein wichtiger Punkt für gute Software ist aber eben nicht, dass sie einfach nur läuft, sondern dass man sie lange pflegen und auch erweitern kann. Für Dein Spiel ist das sicherlich wichtig, aber es sollte nicht der Grund sein, warum Dein Projekt eventuell scheitert oder Du aufgrund massiv verlängerter Entwicklungszeit keine Lust mehr darauf hast. Davon gibt es schon viel zu viele.