Java Core
Testen und Abfangen illegaler Zustandsübergänge zur Laufzeit
Beim Ausführen von Aktionen, die State-Machine-Übergänge anstoßen, müssen Ausnahmen gezielt abgefangen werden, damit unerwartete Eingaben nicht den gesamten Game-Loop-Thread abstürzen lassen. Praxis in der Game-Loop: In Test- oder Debug-Phasen aufgerufene Aktionen werden mit try-catch-Blöcken abgesichert. Illegal gesetzte Befehle lösen eine konsolenbasierte Rückmeldung aus, ohne den Spielablauf zu unterbrechen.
Referenz:
Datei
1. Spielprojekt
· Klasse GameLoop
// Beispiel: Debug-Taste löst Statusübergang aus
if (gamePanel.getInputHandler().consumeJustPressed(KeyEvent.VK_C)) {
try {
gamePanel.getTestQuest().complete();
System.out.println("Quest abgeschlossen: " + gamePanel.getTestQuest().getTitle());
} catch (IllegalStateException e) {
System.out.println("Übergang abgelehnt: " + e.getMessage());
}
}