@@ -141,9 +141,10 @@ public static void main(final String[] args) {
141141 bonusLife , width , height , FPS );
142142 LOGGER .info ("Starting " + WIDTH + "x" + HEIGHT
143143 + " game screen at " + FPS + " fps." );
144- frame .setScreen (currentScreen );
144+ returnCode = frame .setScreen (currentScreen );
145+
145146 LOGGER .info ("Closing game screen." );
146-
147+ if ( returnCode != 1 ) break ;
147148 gameState = ((GameScreen ) currentScreen ).getGameState ();
148149
149150 gameState = new GameState (gameState .getLevel () + 1 ,
@@ -161,16 +162,18 @@ public static void main(final String[] args) {
161162 + gameState .getLivesRemaining () + " lives remaining, "
162163 + gameState .getBulletsShot () + " bullets shot and "
163164 + gameState .getShipsDestroyed () + " ships destroyed." );
164- currentScreen = new ScoreScreen (width , height , FPS , gameState );
165- returnCode = frame .setScreen (currentScreen );
166- LOGGER .info ("Closing score screen." );
165+ if (returnCode == 2 ) {
166+ currentScreen = new ScoreScreen (width , height , FPS , gameState );
167+ returnCode = frame .setScreen (currentScreen );
168+ LOGGER .info ("Closing score screen." );
169+ }
167170 break ;
168171 case 3 :
169172 // High scores.
170173 currentScreen = new HighScoreScreen (width , height , FPS );
171174 LOGGER .info ("Starting " + WIDTH + "x" + HEIGHT
172175 + " high score screen at " + FPS + " fps." );
173- returnCode = frame .setScreen (currentScreen );
176+ returnCode = frame .setScreen (currentScreen );
174177 LOGGER .info ("Closing high score screen." );
175178 break ;
176179 case 4 :
@@ -188,7 +191,7 @@ public static void main(final String[] args) {
188191 LOGGER .info ("Starting " + WIDTH + "x" + HEIGHT
189192 + " Audio screen at " + FPS + " fps." );
190193 returnCode = frame .setScreen (currentScreen );
191- LOGGER .info ("Closing Audio screen." );
194+ LOGGER .info ("Closing Audio screen." );
192195 break ;
193196 case 6 :
194197 // Video Setting? fps? something
0 commit comments