Wie kann ich einen Countdown für "World of zuul" erstellen(Bluej)?

1 Antwort

Erstelle einen parallelen Thread, den du 70 Sekunden lang pausierst, und anschließend deinen Frame mit einer GameOver Meldung aktualisiert.

Nochmal für Anfänger? :D

0
@Lazerion

Naja, du sagst du hast ein Spiel programmiert, dessen Inhalt nur du kennst. Anhand der Informationen die ich der Frage entnehmen kann, ist das eigentlich alles was ich empfehlen kann. Aber ich erläutere gerne was ich meine.

Sofern du mit Java-Swing arbeitest, wirst du vermutlich einen Frame haben, in dem sich dein Spiel abspielt. Oder? - Innerhalb dieses Frames vermute ich jetzt einfach mal genau einen Thread in dem das Spiel läuft. 

Nun ist mein Tipp, einen neuen Thread zu starten, der Parallel zu deiner Anwendung läuft. Dieser Thread teilt dann nach 70 Sekunden dem anderen Thread mit, dass der Gameover-Screen angezeigt werden soll.

Da ich weder den Sourcecode deines Spiels sehe, noch eine Ahnung habe, welche Komponenten du verwendest oder wie das Spiel aussieht, kann ich nur mit diesem Tipp dienen.

0
@Lazerion

zwar der Code nicht ausführbar, aber ich verstehe was du meinst, und somit kann ich dir einen Tipp geben.

Es gibt viele Option, deshalb mein Vorschlag:

1. Du deklarierst eine boolean Instanz-Variable : istSpielEnde. (Kannst du direkt mit false initialisieren)

2. Du erstellst eine Methode: gameover() und füllst diese mit dem Inhalt den du dir vorstellst. aber setzt zuletzt die Variable: istSpielEnde = true

4. Nun erstellst du einen neuen Thread (Gibt genug Beispiele zu finden wie man das macht). In der run() Methode des Threads verwendest du ein Thread.sleep(); für 70 Sekunden, in der darauffolgenden Zeile rufst du die Methode gameover()  auf.

5. du Startest den Thread (vor der Endlosschleife in der methode: spielen())

6. du erweiterst die Bedingung der Endlosschleife um: !istSpielEnde, sodass beim GameOver die endlosschleife unterbrochen wird.

0

Was möchtest Du wissen?