为什么我的游戏没有改变玩家回合?



我正在开发一个井字游戏,我的代码旨在更改为单击鼠标时其他玩家的转弯。这是代码:

令牌是一个字符变量,在游戏开始时自动分配给空格字符。

whosturn也是一个char变量,在代码开头自动分配给"X"。

我不打算发布整个代码,因为它超过 120+ 行。如果你真的想看其余的,请告诉我:)

private class MyMouseListener extends MouseAdapter{
public void mouseClicked(MouseEvent e){
if(token  == ' ' && whosTurn != ' '){ 
setToken(whosTurn);
}else if(isOver()){
jlblStatus.setText("The game was a tie");
whosTurn = ' ';
}else{
whosTurn = (whosTurn == 'X') ? 'O' : 'X';
jlblStatus.setText(whosTurn + "'s turn");
}
}
}

我在youtube上关注了一些教程,这是我根据一些不同的教程创建的一些代码。代码中没有错误,唯一的问题是当它运行时,它总是轮到玩家 X,即使在鼠标单击时它也不会改变。任何帮助都值得赞赏:)

  1. 您可能需要删除最后一个"else"语句,并使其在最后运行。似乎问题之一是程序只是跳过它,只在第一次点击时执行第一个块。

  2. 确保已将侦听器添加到程序中,并确保正确覆盖所有内容。一个常见的错误是当人们在覆盖方法时出现拼写错误时,因此请确保这一切都完美运行。检查这一点的一个好方法是使用 @Override 并编译程序。

希望对您有所帮助!

最新更新