ole #7
|
@ -1,55 +1,39 @@
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
|
|
||||||
public class coinToss extends JPanel {
|
public class coinToss extends JPanel {
|
||||||
// Funktionshilfen
|
private int reihenfolge = 1; // 1 = Spieler 1 fängt an, 0 = Spieler 2 fängt an
|
||||||
private JLabel frameTitle = new JLabel("Zugreihenfolge", SwingConstants.CENTER);
|
|
||||||
private JLabel text = new JLabel("", SwingConstants.CENTER); // Label für die Nachricht
|
|
||||||
private int reihenfolge = 1; // Beispielhaft: 1 = Spieler 1 fängt an, 0 = Spieler 2 fängt an
|
|
||||||
private Timer timer;
|
private Timer timer;
|
||||||
|
private JLabel infoLabel;
|
||||||
|
|
||||||
// Konstruktor
|
// Konstruktor
|
||||||
coinToss(MainFrame frame) {
|
public coinToss(MainFrame frame) {
|
||||||
setLayout(null); // Setze das Layout des Panels auf CardLayout
|
setLayout(new BorderLayout());
|
||||||
|
|
||||||
// Nachricht basierend auf 'reihenfolge' einstellen
|
// Info-Label für den Anzeigetext
|
||||||
String startMessage = (reihenfolge == 1)
|
infoLabel = new JLabel("", SwingConstants.CENTER);
|
||||||
? "Du fängst an, mach dich bereit..."
|
infoLabel.setFont(new Font("Arial", Font.BOLD, 24));
|
||||||
: "Dein Gegner fängt an, mach dich bereit...";
|
add(infoLabel, BorderLayout.CENTER);
|
||||||
text.setText(startMessage);
|
|
||||||
text.setFont(new Font("Arial", Font.BOLD, 24));
|
|
||||||
add(text);
|
|
||||||
|
|
||||||
frameTitle.setFont(new Font("Arial", Font.BOLD, 32));
|
// Bestimme den Anfangstext basierend auf der "reihenfolge" Variable
|
||||||
|
if (reihenfolge == 1) {
|
||||||
// Beispielhaftes "Spielfeld" (nächste Szene)
|
infoLabel.setText("Du fängst an, mach dich bereit...");
|
||||||
JPanel gamePanel = new JPanel();
|
} else {
|
||||||
gamePanel.setLayout(new BorderLayout());
|
infoLabel.setText("Dein Gegner fängt an, mach dich bereit...");
|
||||||
JLabel gameLabel = new JLabel("Das Spiel beginnt!", SwingConstants.CENTER);
|
|
||||||
gameLabel.setFont(new Font("Arial", Font.BOLD, 36));
|
|
||||||
gamePanel.add(gameLabel, BorderLayout.CENTER);
|
|
||||||
|
|
||||||
// Füge das Spiel-Panel zu diesem Panel hinzu
|
|
||||||
add(gamePanel, "game");
|
|
||||||
|
|
||||||
// Timer starten
|
|
||||||
startTimer();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startTimer() {
|
// Erster Timer, der den Text nach 3 Sekunden auf "Es geht Los!" setzt
|
||||||
// Timer, der nach 3 Sekunden zum Spiel-Panel wechselt
|
timer = new Timer(3000, e -> {
|
||||||
timer = new Timer(3000, new ActionListener() {
|
infoLabel.setText("Es geht Los!");
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
// Zweiter Timer, der nach weiteren 3 Sekunden zum Hauptmenü zurückkehrt
|
||||||
// Wechsel zum Spiel-Panel
|
Timer backToMenuTimer = new Timer(3000, ev -> {
|
||||||
CardLayout cardLayout = (CardLayout) getLayout();
|
frame.showPanel("MainMenu");
|
||||||
cardLayout.show(coinToss.this, "game");
|
|
||||||
timer.stop(); // Timer stoppen
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
timer.setRepeats(false); // Timer soll nur einmal ablaufen
|
//backToMenuTimer.setRepeats(false); // Timer nur einmal ausführen
|
||||||
timer.start(); // Timer starten
|
backToMenuTimer.start();
|
||||||
|
});
|
||||||
|
//timer.setRepeats(false); // Erster Timer soll nur einmal ausgeführt werden
|
||||||
|
timer.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue