# Spiel abbrechen



## Samuel72 (25. Feb 2012)

Hallo zusammen,

Ich habe ein (ziemlich umfangreiches) Spiel geschrieben und möchte dem Spieler gerne die Möglichkeit geben, dieses zwischendrin abzubrechen (durch Drücken eines Buttons) und ins Hauptmenü zurückzukehren.
Das Problem ist, dass zum Zeitpunkt des Abbruchs normalerweise gerade eine Nutzereingabe erwartet wird und es sehr viele Stellen im Programm gibt, von denen aus so eine Nutzereingabe erfolgen kann.

Muss ich nun an x verschiedenen Stellen auf Abbruch prüfen (Graus!), oder gibt es da eine elegante Methode?

Entschuldigt bitte dass ich keinen Code poste, aber das ganze ist ziemlich umfangreich und ich hoffe, es wird auch so deutlich, was ich meine.


----------



## Fu3L (25. Feb 2012)

> gerade eine Nutzereingabe erwartet wird und es sehr viele Stellen im Programm gibt, von denen aus so eine Nutzereingabe erfolgen kann.



Die elegante Lösung liegt darin, eine Stelle im Programm zu haben, die die Nutzereingaben verwaltet... Ich frage mich aber gerade, ob der KeyListener eines JFrames auch die Eingaben sieht, wenn man gerade eine Komponente innerhalb des JFrames fokussiert hat? Dann wäre da ein guter Punkt zum Eingriff, wenn du nicht alles umschreiben willst^^


----------



## Samuel72 (25. Feb 2012)

Danke Fu3L, für deine Bemühung.

Jetzt ist mir aber doch, kurz nachdem ich meinen Beitrag gepostet habe, die Lösung selbst eingefallen.
(Geht es euch auch manchmal so? Ich hatte mich wirklich lange mit dem Problem rumgeplagt, bevor ich um Hilfe gebeten habe).

Ich mach's jetzt so: Alle Nutzereingaben werden von einer Klasse verwaltet. Dieser Klasse gebe ich im Abbruchfall die Anweisung, auf alle Nutzeranfragen [c]null[/c] zurückzugeben. Auf diese Weise komme ich schnell wieder in die Hauptroutine zurück, wo ich dann ordentlich abbrechen kann.


----------



## Paddelpirat (25. Feb 2012)

Es gibt auch einen Listener, der alle Ereignisse abfängt:

Java ist auch eine Insel – 15.32 Ereignisverarbeitung auf unterster Ebene

(ganz unten)


----------

