我正在为垄断棋盘游戏创建玩家类。我不确定如何让玩家在棋盘上移动然后存储玩家的位置。我使用
创建了一个包含40个位置的数组 BoardSquare[] square = new BoardSquare[40];
我用
创建了两个模具 diceOne=1+(int)(Math.random()*6);
diceTwo=1+(int)(Math.random()*6);
roll=diceOne+diceTwo;
到目前为止,这是我的播放器类的代码
class Player
{
private String name;
private String token;
private int location;
private int balance;
public Player()
{
name = "";
token = "";
location = 0;
balance = 1500;
player = (name+token+location+balance);
}
public Player(String name, String token, int location, int balance)
{
this.name = name;
this.token = token;
this.location = location;
this.balance = balance;
}
我意识到我需要将玩家初始化为零,然后添加掷骰子的值,以便让玩家在棋盘上占据一席之地。但是,我真的不确定当空间用完时会发生什么,如何正确开发for循环等等。我看了一些例子,但我不确定如何正确开发棋盘游戏的逻辑。任何关于棋盘游戏开发的建议都超出了本问题的范围,这是非常受欢迎的。 THX。
答案 0 :(得分:0)
您可以使用modulo operator来包裹位置,例如:
int newPosition = (oldPosition + diceRoll) % 40;
至于传球Go,你有很多选择。如果将Go定义为索引0,这是最简单的。您可以在模40之前计算位置,并检查它是否大于40(意味着它将要环绕)。您还可以检查新位置是否小于旧位置(假设您不能使用骰子滚动> = 40)。
答案 1 :(得分:0)
在更新播放器的新位置之前,请执行以下检查:
if(position>40)
{
position=position-40
}
使用省钱细节更新已更改的位置