我正在做一个简单的tic tac toe游戏。在游戏中,无论是x还是o,都由int turn
决定。这是来自actionlistener的一个部分,展示它是如何工作的。
public void actionPerformed(ActionEvent e){
String command = e.getActionCommand();
if (command.equals("b1")){
//top row 1
if (turn%2==0){
b1.setText("X");
turn ++;
l1.setText("O's turn");
x[0][0] = true;
} else {
b1.setText("O");
turn ++;
l1.setText("X's Turn");
o[0][0] = true;
}
}
问题是,当我点击一个按钮并显示x或o时,另一个玩家可以点击相同的按钮将光点从x更改为o,反之亦然。我怎样才能阻止这种情况发生?
答案 0 :(得分:3)
我建议你可以在点击按钮后禁用它,这样它就不再可以点击了:
更新
if (command.equals("b1")){
//top row 1
if (turn%2==0){
b1.setText("X");
//add the following
turn ++;
l1.setText("O's turn");
x[0][0] = true;
turnNum ++;
b1.removeActionListener(this);
}
} else {
b1.setText("O");
//add the following
turn ++;
l1.setText("X's Turn");
o[0][0] = true;
b1.removeActionListener(this);
}