不確定爲什麼此代碼不按預期工作,並希望你能幫我弄明白。我正在從一系列使用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(「一些隨機文本」)替換它時,它將打印。 –