@@ -151,9 +151,8 @@ private void gameOverState(int code) {
151151 //fixme check the se
152152 gameManager .playMusic (0 );
153153 } else if (gameManager .ui .commandNum == 1 ) {
154- gameManager .ui .titleScreenState = -1 ;
155- gameManager .gameState = GameManager .START_STATE ;
156154 gameManager .resetGame (true );
155+ System .exit (0 );
157156 }
158157 }
159158 }
@@ -257,6 +256,11 @@ private void startState(int code) {
257256 }
258257
259258 private void tutorialState (int code ) {
259+ // Play music only once in tutorial screen
260+ if (!gameManager .isMusicPlaying ) {
261+ gameManager .playMusic (25 );
262+ gameManager .isMusicPlaying = true ;
263+ }
260264 if (gameManager .ui .titleScreenState == 0 ) {
261265 if (!isEnterPressed && code == KeyEvent .VK_ENTER ) {
262266 gameManager .ui .titleScreenState = 2 ;
@@ -268,6 +272,11 @@ private void tutorialState(int code) {
268272
269273
270274 private void titleState (int code ) {
275+ // Play music only once in title screen
276+ if (!gameManager .isMusicPlaying ) {
277+ gameManager .playMusic (25 );
278+ gameManager .isMusicPlaying = true ;
279+ }
271280 if (gameManager .ui .titleScreenState == 1 ) {
272281 if (code == KeyEvent .VK_DOWN || code == KeyEvent .VK_S ) {
273282 gameManager .ui .commandNum = 2 ; // Move cursor to "EXIT GAME" (commandNum = 2)
@@ -282,6 +291,7 @@ private void titleState(int code) {
282291 case 2 -> System .exit (0 );
283292 case 1 -> {
284293 if (gameManager .saveLoad .load ()) {
294+ gameManager .stopTitleMusic ();
285295 gameManager .saveLoad .load ();
286296 gameManager .gameState = GameManager .PLAY_STATE ;
287297 gameManager .playMusic (0 );
@@ -300,6 +310,7 @@ private void titleState(int code) {
300310 }
301311
302312 if (!isEnterPressed && code == KeyEvent .VK_ENTER ) {
313+ gameManager .stopTitleMusic ();
303314 if (gameManager .saveLoad .hasFile ) {
304315 gameManager .saveLoad .file .delete ();
305316 gameManager .resetTimer ();
0 commit comments