JAVA:Switch语句似乎每秒都在跳过Case条件

我被困住了,正在使用Eclipse IDE,并正在使用ATW和Swing构建游戏。但是,一个随机的bug悄悄地进入了我的脚本,我不知道该如何或为什么这部分代码已经被使用了很长时间了。本质上,我使用switch语句来确定在什么时间加载哪些图像以创建某种介绍序列,以下是脚本:


        // condition that only runs once within the print function

        if (gameState == "start")
        {
            //gameAudio.loopMusic(false);




            //intro animation
            switch(startCounter) 
            {
                //3 and a half seconds of buffer split into 10 parts to allow for updating screen during startup of app
              case 0:
              case 1:
              case 2:
              case 3:
              case 4:
              case 5:
              case 6:
              case 7:
              case 8:
              case 9:
                wait(350);

                break;

              case 10:  
                gameAudio.playMusic("src/res/audio/JackEditedIntro.wav");
                gameAudio.setVolume(0.6);
                wait(300);
                samIcon = new ImageIcon("src/res/SamAssets/SamFullBody/SwingUpSam.png");

                break;

              case 11:
                  wait(40);
                  samIcon = new ImageIcon("src/res/SamAssets/SamFullBody/HighFiveSam.png");
                  samPow = new ImageIcon("src/res/SamAssets/SamFullBody/PowSam.png");

                  break;

              case 12:
                  wait(100);
                  samIcon = new ImageIcon("src/res/SamAssets/SamFullBody/HighFiveSam.png");
                  samPow = new ImageIcon("");

                  break;


              case 13:
                  wait(1200);
                  samIcon = new ImageIcon("src/res/SamAssets/SamFullBody/WaveSam.png");

                  break;
              case 14:
                  wait(1200);
                  samIcon = new ImageIcon("src/res/SamAssets/SamFullBody/SwingUpSam.png");

                  break;

              case 15:
                  wait(40);
                  samIcon = new ImageIcon("src/res/SamAssets/SamFullBody/IdleSam.png");

                  break;

              case 16:

                  wait(500);
                  samIcon = new ImageIcon("");

                  break;

              case 17:

                  wait(300);
                  gameAudio.playMusic("src/res/audio/BattleStart.wav");

                  wait(2000);

                  break;

              default:
               wait(5);
               System.out.println("Default start up switch statement");
            }



            setBackground(Color.BLACK);
            samIcon.paintIcon(this,  g,  540, 20);
            samPow.paintIcon(this, g, 720, 20);



            //samIcon.ImageIcon();









            if (startCounter < 17)
            {
                startCounter += 1;


            }


            else
            {
                //start the actual game
                gameState = "menu";

                //play the song

                gameAudio.playMusic("src/res/audio/AllTheWay.wav");
                gameAudio.setVolume(0.2);
                gameAudio.loopMusic(true);


                // default Sam
                samIcon = new ImageIcon("src/res/SamAssets/IdleSam.png");

            }


        }

问题是,并非我的所有图像都已加载并且某些声音文件没有在播放(我五倍地检查了源文件,这些源文件又经过了一段时间没有碰过,也不应该成为问题的一部分)。该脚本似乎正在跳过案例11,案例13,案例15和案例17,所以我最好的猜测是脚本正在每隔第二个案例条件跳过一次(对于我来说很难验证它是否在语句的前面部分中跳过了) ,但我还不知道为什么。如果有人能对我的问题有所帮助,我将不胜感激。

PS:这只是我一生中的第二个庞大的编码项目,因此,我为那可怕的编码风格深表歉意,希望您能原谅我,谢谢。