索引超出了游戏最后一个方格的范围

时间:2014-10-25 04:13:01

标签: c#

我正在为作业创建一个棋盘游戏而且我几乎完成了,但是玩家代币继续经过最后一个正方形并导致错误。这是我打算在棋盘上移动令牌的方法:

private void Move(int numberOfSquares) {
            for (int i = 0; i < numberOfSquares; i++) {
                if (Location.NextSquare == null) {

                    location = this.Location;
                } else {
                    location = location.NextSquare;
                }
            }

在第一个if语句中,如果nextsquare值超出最终方格,我希望令牌位置保持不变。关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

您需要将代码更改为:

private void Move(int numberOfSquares) {
    for (int i = 0; i < numberOfSquares; i++) {
        if (location.NextSquare == null) {
            break;
        } else {
            location = location.NextSquare;
        }
    }