diff --git a/src/GameGUI.java b/src/GameGUI.java index 972fe90..91aba86 100644 --- a/src/GameGUI.java +++ b/src/GameGUI.java @@ -17,6 +17,13 @@ public GameGUI() { this.addKeyListener(this); this.add(new GameGraphics()); + addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent windowEvent) { + if(GameTracker.shouldClose) System.exit(0); + } + }); + this.setVisible(true); } diff --git a/src/GameOver.java b/src/GameOver.java index 14d774c..59d4b8b 100644 --- a/src/GameOver.java +++ b/src/GameOver.java @@ -124,6 +124,13 @@ public void run() { add(panel); + addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent windowEvent) { + if(GameTracker.shouldClose) System.exit(0); + } + }); + setVisible(true); } diff --git a/src/GameTracker.java b/src/GameTracker.java index c456852..eba1214 100644 --- a/src/GameTracker.java +++ b/src/GameTracker.java @@ -3,6 +3,7 @@ import java.util.ArrayList; public class GameTracker { + public static boolean shouldClose=true; public static int Score = 0; private static ArrayList leaderboard = new ArrayList(); private static String name; diff --git a/src/Ship.java b/src/Ship.java index 7a2495f..dab6125 100644 --- a/src/Ship.java +++ b/src/Ship.java @@ -330,7 +330,9 @@ private void doPlayerCollision() { this.destroy(); GameOver frame = new GameOver(); frame.setVisible(true); + GameTracker.shouldClose=false; Launcher.gui.dispatchEvent(new WindowEvent(Launcher.gui, WindowEvent.WINDOW_CLOSING)); + GameTracker.shouldClose=true; } else { GameTracker.killLife(); Player player=Launcher.gui.player;