我会用javafx做游戏:tic tac toe。我用按钮创建了3x3板第一个播放器单击其中一个,然后选择的按钮文本更改为" O"或" X"我会做一个循环,类似的事情:
while(true){
player1.move("x");
player2.move("O");
}
Move((:
public void move(String a){
board[0][0].setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
board[0][0].setText(a);
board[0][0].setDisable(true);
}
});
board[0][1].setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
board[0][1].setText(a);
board[0][1].setDisable(true);
}
});
[...]
}
但是应用程序不起作用(由于循环(我不知道该怎么做第一个球员有一步,当他选择并单击按钮时,玩家2会下一步。
我不知道该怎么做第一个玩家有一步,当他选择并单击按钮时,玩家2会下一步。
您必须添加一个控制游戏的游戏经理。您必须管理游戏的转弯,并为每个转弯(如果其中一个球员获胜(检查。当然,还有其他事情。
您不需要任何主要游戏循环,这是您需要的逻辑:
int player = 0;
String [] symbol = {"X", "O"};
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
board[i][j].setOnAction(action -> {
plansza[i][j].setText(symbol[player]);
checkIfPlayerWon();
player = (player + 1) % 2;
});
}
}
根据您的需求进行调整