迭代多维bool数组?

时间:2016-04-27 00:58:22

标签: c# arrays for-loop

我制作的游戏包含试图以风险(棋盘游戏)类型格式捕捉空间站的玩家。为了告诉谁拥有我设置了多维bool数组的站点。

bool[,] stationOwners = 
    new bool[3, 5] 
    { 
        //S0    S1     S2     S3     S4 
        {true,  false, false, false, false}, //blue player
        {false, false, true,  false, false}, //red player
        {false, false, false, true,  false}  //green player
    };

行代表播放器,而列代表地图上的特定电台。现在我遇到的问题是尝试计算每个玩家的收入,每个站点都有自己的设定收入值int[] stationIncome = new int[5] {3,2,3,3,2};

玩家也有自己的变量来存储他们的收入int[] playerMoney = new int[3] {0,0,0};

我是如何通过方法中的for循环来寻找哪些玩家拥有哪些电台

public void playerTurnStart(int ID)
{
    for(int x = 0; x > 4; x++)
    {
        if (stationOwners[ID, x] == true)
        {
            playerMoney[ID] += stationIncome[x];
        }
    }
    lblPlayerMoney.Text = playerMoney[ID].ToString(); 
}

整数ID与玩家转变的关系相关联。然后我在表格上做一个等于收入的标签。问题是,无论轮到谁,球员收入都保持为零。是否有人可以查看此代码,看看我是否遗漏了什么?

1 个答案:

答案 0 :(得分:2)

最明显的是你的for循环不正确。

for(int x = 0; x > 4; x++)

需要

for(int x = 0; x < 4; x++)

x = 0开始意味着条件x > 4永远不会成立。