我是 Java 初学者,为了进行一些练习,我正在创建一个基于文本的圆圈和十字。到目前为止,我有一个 Player 类、一个 Board 类和一个 Game 类。在 Game 类中,我有一个 Board 实例和两个 Player 实例。我已经成功地编写了代码,让玩家可以采取行动并确定游戏是赢还是平。我现在想确保一个玩家一次只能进行一次移动,并且不能连续移动一次以上,即玩家A,玩家B,玩家A,玩家B......而不是玩家A,玩家A,玩家一个...
我想到的方法是在 myTurn 的 Player 类中创建一个 boolean 字段,并采用以下方法:
public boolean isMyTurn (){
if (myTurn == true){
return false;
}
return true;
}
然后,我在采取行动之前在游戏玻璃中调用此方法,但由于某种原因它不起作用。也许我在某个地方犯了一个错误,但如果有人有任何其他方法/想法,我可以编写一些代码来确定付款人轮流是否有效,请告诉我。如果您也能提供一些例子,我将不胜感激,因为我仍然是初学者。
最佳答案
我会让 Game 类对此负责。例如:
class Game {
...
public void makeTurn(){
if(isFirst)
firstPlayer.makeTurn();
else
secondPlayer.makeTurn();
isFirst = !isFirst;
}
private bool isFirst = true;
private Player firstPlayer, secondPlayer;
}
这在逻辑上甚至是有道理的。玩家可以一个接一个地做出许多 Action 。是游戏(游戏规则)阻止了他这样做。
关于java - 确定玩家上交基于文本的圈和叉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8030615/