2016-04-27 10 views
0

私は、危険(ボードゲーム)タイプのフォーマットで宇宙ステーションを捕獲しようとしているプレーヤーで構成されるゲームを作っています。誰がどのステーションを所有しているかを知るために、私は多次元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};

を保存するために、独自の変数を持っていますこれステーションメソッド内ループのための

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

コードレビューでこれを投稿する必要があります。 SOは適切な場所ではありません。 –

+0

少し説明していただけますか?私はかなり新しいです。 – Banane42

+0

私はかなりきれいだったと思います。 [this](http://stackoverflow.com/help/on-topic)を読み、[this](http://codereview.stackexchange.com/)をチェックしてください。 –

答えて

2

最も明白なことは、forループが間違っていることです。

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

x = 0でスタート

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

であることが必要条件x > 4が真になることはありませんを意味します。

+0

ありがとう、私はちょっとそれを見ていないためにダム感じる。それはそれだった。どうもありがとうございました。 – Banane42