我希望如果单击了正确的按钮(布尔值true),它会在“if循环”中再次跳转

问题描述 投票:0回答:1

我期望如果玩家点击右键,if循环会继续,然后再次进行相同的过程。数组中的数字在1到4之间,每个数字代表一个按钮。第一个按钮变白后,玩家应该单击变白的按钮,然后它应该再次进入 if 循环(如果单击是 corect=boolean true)。然后另一个按钮再次变白,应该再次单击,依此类推。 代码:

     if (abfrage == true) {
      currentIndex++;

        Timer timer = new Timer(500, new ActionListener() {
        public void actionPerformed(ActionEvent e) { 
            if (currentIndex < zufallsliste.length) {
                int currentNumber = zufallsliste[currentIndex];
                  // Button-Farben zurücksetzen
              jBu_Feld1.setBackground(Color.RED);
              jBu_Feld2.setBackground(Color.GREEN);
              jBu_Feld3.setBackground(Color.CYAN);
              jBu_Feld4.setBackground(Color.YELLOW);
              
                switch (currentNumber) {
                    case 1:
                        jBu_Feld1.setBackground(Color.WHITE);
                        break;
          
                    case 2:
                        jBu_Feld2.setBackground(Color.WHITE);
                        break; 
                    case 3:
                        jBu_Feld3.setBackground(Color.WHITE);
                        break;  
                    case 4:
                        jBu_Feld4.setBackground(Color.WHITE);
                        break;   
                }
    
                 
        
              } else {
   
                ((Timer) e.getSource()).stop(); // Timer stoppt wenn Zufallsliste durchlaufen
              
             }
               
          }
                 
        });
   
        // Timer starten
        timer.start();
   
       } // end of if
    else {
       System.out.println("Lost!");
            System.exit(0);
  
    } // end of if-else

 
     } // end of jBu_Start_ActionPerformed




   public void jBu_Feld1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    if (currentIndex == 1) {
    boolean abfrage = true;
     } else {
      boolean abfrage = false;
     } // end of if-else
  } // end of jBu_Feld1_ActionPerformed

  public void jBu_Feld2_ActionPerformed(ActionEvent evt) {
 // TODO hier Quelltext einfügen
 if (currentIndex == 2) {
   boolean abfrage = true; 
} else {
   boolean abfrage = false;
} // end of if-else
 } // end of jBu_Feld2_ActionPerformed

  public void jBu_Feld3_ActionPerformed(ActionEvent evt) {
  // TODO hier Quelltext einfügen
   if (currentIndex == 3) {
   boolean abfrage = true;
   } else {
   boolean abfrage = false;
  } // end of if-else
 } // end of jBu_Feld3_ActionPerformed

  public void jBu_Feld4_ActionPerformed(ActionEvent evt) {
  // TODO hier Quelltext einfügen
   if (currentIndex == 4) {
   boolean abfrage = true;
    } else {
     boolean abfrage = false;
     } // end of if-else
      } // end of jBu_Feld4_ActionPerformed
java button
1个回答
0
投票

您有 8 个不同的局部变量,全部命名为

abfrage
。除了使用屏幕上的同一组标记来命名之外,这些是无关的。所有这些都被分配了值,在变量超出范围之前不执行任何操作。

您需要阅读“范围”。

我认为您确实需要

abfrage
成为某个对象的成员,但没有足够的上下文来更具体。

© www.soinside.com 2019 - 2024. All rights reserved.