不确定为什么此代码不按预期工作,并希望你能帮我弄明白。我正在从一系列使用jbutton的教程开始开发tictactoe游戏。我有什么是我的主要类中的一个方法,每次点击一个按钮时都会“检查forwin”。使用print语句,我发现每次单击按钮时都会运行方法,但getText()。equals(“_”)条件无法正常运行。在java中TicTacToe游戏的问题?使用getText()。equals()与jButtons
此代码是我的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每一个按钮被点击时,然而它绝不会的条件内进行打印。
任何帮助或建议将不胜感激谢谢!
与诊断'的System.out.println(board.button1.getText())'。 –
如何打印按钮文本或调试代码? – Andreas
感谢您的快速响应,我把它放在我的checkforwin方法的顶部,但它没有打印任何内容,但是当我用System.out.println(“一些随机文本”)替换它时,它将打印。 –