0

我正在为垄断棋盘游戏创建玩家类。我不确定如何让玩家在棋盘上移动,然后存储玩家的位置。我使用创建了一个包含 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 循环等。我看过一些示例,但我不确定如何正确开发棋盘游戏的逻辑。非常欢迎任何超出此问题范围的有关棋盘游戏开发的建议。谢谢。

4

2 回答 2

0

您可以使用模运算符来环绕位置,例如:

int newPosition = (oldPosition + diceRoll) % 40;

至于通过 Go,你有很多选择。如果将 Go 定义为索引 0,这是最简单的。您可以计算模 40 之前的位置并检查它是否大于 40(意味着它即将环绕)。您还可以检查新位置是否小于旧位置(假设您永远不会掷骰子 >= 40)。

于 2013-11-15T07:51:45.587 回答
0

在更新播放器的新位置之前,请执行以下检查:

if(position>40)
{
position=position-40
}

用金钱的细节更新改变的位置

于 2013-11-15T07:56:27.770 回答