我制作的游戏包含试图以风险(棋盘游戏)类型格式捕捉空间站的玩家。为了告诉谁拥有我设置了多维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
与玩家转变的关系相关联。然后我在表格上做一个等于收入的标签。问题是,无论轮到谁,球员收入都保持为零。是否有人可以查看此代码,看看我是否遗漏了什么?
答案 0 :(得分:2)
最明显的是你的for
循环不正确。
for(int x = 0; x > 4; x++)
需要
for(int x = 0; x < 4; x++)
从x = 0
开始意味着条件x > 4
永远不会成立。