不确定为什么这段代码没有按预期工作,希望你能帮我弄清楚。我正在从一系列使用 jbuttons 的教程中开发一个 tictactoe 游戏。我的主类中有一个方法,每次单击按钮时都会“checksforwin”。使用打印语句,我发现每次单击按钮时我的方法都会运行,但是 getText().equals("_") 条件无法正常运行。
这段代码是我的 tictactoe.java 的一部分,并且一切正常。此事件为每个按钮复制 9 次。
public void button1ActionPerformed(ActionEvent e) {
if(button1.getText().equals("")){
if(Main.playerTurn==true){
button1.setText("X");
Main.checkforwin();
Main.playerTurn = false;
}else{
button1.setText("O");
Main.checkforwin();
Main.playerTurn = true;
}
}
}
这段代码是我的 main.java 的一部分,其中包含 checkforwin 方法。对于玩家 1 和计算机(玩家 2)在 tictactoe 中每次可能的胜利,都会重复多次检查获胜代码块。
public class Main {
public static boolean playerTurn = true;
public static boolean playerWon = false;
public static boolean computerWon = false;
public static tictactoe board = new tictactoe();
public static void checkforwin(){
System.out.println("testing1");
//horizontal row 1
if(board.button1.getText().equals("X")){
System.out.println("testing2");
if(board.button2.getText().equals("X")){
if(board.button3.getText().equals("X")){
playerWon = true;
computerWon = false;
System.out.println("Player 1 won");
}
}
}
}
每次单击按钮时,该方法都会输出 testing1,但它永远不会在条件内打印。
任何帮助或建议将不胜感激谢谢!