-8

foreachループの処理に問題があります。理由はわかりませんが、デバッグすると、ペレットのカウントがゼロになります。103 のはずです。プログラムを実行しても結果が表示されません。コードで見逃したものはありますか?

コード:

List<Pellets> pellets = new List<Pellets>();
bool gotPellet = false;
foreach (var pellet in pellets)
{
    if (pellet.Visibility == Visibility.Visible)
    {
        var rectPellet = pellet.GetRect(cnvMain);
        var pelletCellPoint = pellet.GetCellPoint();

        rectPacman.Intersect(rectPellet);
        gotPellet = true;

        pellet.Visibility = Visibility.Collapsed;

        AddPellet(pellet);
        mazeValues[(int)pelletCellPoint.X, (int)pelletCellPoint.Y] = ' ';
        break;
    }
}

私はWindows 8メトロアプリC#を使用しています

4

3 に答える 3

7

コードのpellets先頭に新しいリストを作成し、何も追加しないため、リストに 103 個の要素を含めることはできません。

于 2013-06-25T06:02:15.667 に答える
0
List<Pellets> pellets = new List<Pellets>();

あなたのリストは空なので、 foreach ループは何もしません。

于 2013-06-25T06:03:22.970 に答える