2

10 個の ProjectilesDestroyed の後にレベルを上げるために、スイッチ ケースを設定しました。10 個の発射体が破壊された後の 1 番目のレベルでは 2 番目のレベルが表示されますが、2 番目のレベルからは 2 個の発射体が破壊されるたびに増加し、レベルも 10 を超えて増加します。レベルを上げるには10の差をつけてください。これが私が実装した方法です

if (++_projectilesDestroyed > 5)
            {
                _projectilesDestroyed = 0;

            //  for(level=1; level<12; level++)
                switch(level)
                   {
                   case 1:
                       _projectilesDestroyed = 10;
                   System.out.println("case 1");
                                      break;
                   case 2:
                       _projectilesDestroyed = 20; 
                       System.out.println("case 2");
                       break;
                   case 3:
                       _projectilesDestroyed = 30;
                       System.out.println("case 3");
                       break;
                   case 4:
                       _projectilesDestroyed = 40;
                       System.out.println("case 4");
                       break;
                   case 5:
                       _projectilesDestroyed = 50;
                                         break;
                   case 6:
                       _projectilesDestroyed = 60;
                                    break;
                   case 7:
                       _projectilesDestroyed = 70;
                                   break;
                   case 8:
                       _projectilesDestroyed = 80;
                                      break;
                   case 9:
                       _projectilesDestroyed = 90;
                                    break;
                   case 10:
                       _projectilesDestroyed = 100;
                       System.out.println("case 10");
                       break;
                   default: break;
                   }
                 addLevel();

addLevel() メソッド。

public void addLevel() {
    level = level + 1;
                showLevel(level);
          }

ブレークを追加しても。レベル 2 からのすべてのケースで、2 つの projectilesDestroyed ごとに更新されますが、10 に達したときに必要です。

4

5 に答える 5

0

ケース ブロックの後にブレーク ステートメントがありません。

      case 1:
                   _projectilesDestroyed = 10;
                   System.out.println("case 1");
                   //  missing break here and in the following case staments

case の後に break ステートメントを配置しない場合、次の case ステートメントが順次実行されます。

于 2013-07-06T10:16:23.853 に答える
0

ifあなたの問題は最初のステートメントにあると思います:

if (++_projectilesDestroyed > 5)

発射物を 5 つ以上破壊すると、常にブロックに入り、 が増加しますlevel。おそらく、このようにいくつかの異なる変数が必要になるでしょう。

if(++_projectilesDestroyed > _projectilesRequired)

上記のステートメント_projectilesRequiredに従って、または使用して設定しますswitch-case_projectilesRequired = level * 10

于 2013-07-06T10:53:38.153 に答える