我正在尝试切换布尔playerTurn
以允许我控制方法。但是,它不起作用,方法将不会移动,也不会打印出其他打印语句。
moveC1But.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae)
{
diceRoll();
private boolean playerTurn = true;
if(playerTurn == true)
{
moveC1Up();
firstPanel.repaint();
System.out.print(diceRoll());
System.out.print("Moving counter 1");
playerTurn = !playerTurn;
}else if(playerTurn == false)
{
moveC3Up();
firstPanel.repaint();
System.out.print(diceRoll());
System.out.print("Moving counter 3");
playerTurn = !playerTurn;
}
}
});
最佳答案
这是您的操作:
我掷骰子
轮到我了!
是的,轮到我了,所以我向上移动,重新粉刷,这不是我的轮到
我退出
还是一样……出了点问题……第二个如果无法执行。
解:
在更高的类中创建一个playerTurn变量,而不是每次都在ActionListener中创建它。
使用调试器并分析程序的工作方式,然后您会发现出了问题。