Hallo Christoph,
wieso hast du den Themenbereich und das Thema (aka Betreff) geändert?
Er lag doch damit absolut richtig. Es ging ihm nicht speziell um
Java, sondern eben mehr um die Programmiertechnik ansich. Auch weiß
ich nicht, was "verschachtelte Klassen" mit seiner Frage zu tun haben
sollen. Vielleicht verstehe ich aber auch einfach etwas anderes
darunter, als du.
ähm ... ja. Als "Einsteiger" solltest du vielleicht nicht gleich damit beginnen, Spiele programmieren zu wollen.
Naja, kommt natürlich auf das Spiel an. Z.B. Drei-in-einer Reihe sollte
man als Java-Anfänger ja schon hinkriegen. Hat jemand Lust? ;-)
| |
--+--+--
| |
--+--+--
| |
Es gibt unendlich viele Möglcihkeiten, deine hier beschriebenen Vorgaben mit JAVA (aber auch mit anderen Programmiersprachen) zu realisieren.
ACK. Fang doch mal an ein paar zu erklären. ;-)
Solange du nicht den konkreten Quellcode deines Spielprogramms zur Verfügung stellst [...]
Ist doch nicht nötig. Eigentlich reicht doch die Info, daß er ein
Menü hat, und von dort aus dann weiter zum eigentlichen Spiel (oder
vielleicht auch zu den Optionen usw. will). Er wird ja wohl kein
Warcraft III machen, für das evtl. eine etwas aufwendigere Programmierung
notwendig sein würde. ;-)
Um nicht nur rumzumotzen, will ich mal kurz beschreiben, wie ich das
für ein so kleines Projekt wohl machen würde. Die perfekte Lösung
wird es sicherlich nicht sein.
Ich würde eine Hauptklasse schreiben, die letztendlich nur für die
Erstellung des Hauptfensters, das Laden von ein paar grundlegenden
Resourcen usw. zuständig ist. Diese Klasse würde dann eine Methode
einer anderen Klasse aufrufen, die für die Menüführung verantwortlich
ist. Als Parameter würde die Zeichenfläche (Graphics2D) übergeben
werden. (Prinzipiell könnte sich die aufgerufene Methode das Graphics-
Objekt auch selbst von der aufrufenden Klasse besorgen.)
Die Menüklasse wäre also für die Menüführung verantwortlich. Wird der
Menüpunkt zum Starten des Spiels angewählt, würde die Methode
verlassen werden und die Hauptklasse in irgend einer Form (z.B. über
Rückgabeparameter) mitgeteilt werden, was ausgewählt wurde.
Die Hauptklasse könnte dann die eigentliche Spiel-Klasse aufrufen,
die wiederum die Zeichenfläche und vielleicht ein paar Paramter
übergeben bekommt.
Das wäre zumindest das grobe Vorgehen, daß mir ohne groß nachzudenken
in den Sinn gekommen ist. Einwände werden gerne angenommen. Mich
interessiert das Thema durchaus auch. :)
Gruß
Slyh
PS: Oh, ich sehe gerade, daß meine Antwort etwas an der ursprünglichen
Fragestellung vorbeigeht...
Prinzipiell würde ich das ganze aber ähnlich wie jetzt beschrieben realisieren.
Ich würde eine Hauptklasse schreiben, die zuerst die Methode zur
Eingabe des Spielerdaten und dann die Methode des eigentlichen Spiels
aufruft. Diese würden sinnvollerweise in verschiedenen Klassen liegen.
(Die Zeichenfläche würde jeweils übergeben.)