如何重写if语句一次停止.Count方法已达到一个数字而不是连续创建

时间:2016-12-09 12:15:07

标签: c# if-statement for-loop xna-4.0

我正在创建一个破砖者克隆,并且需要在创建52个块之后停止创建块。目前的情况是,一旦被摧毁,它会创造更多并实际进入60年代。

我在第1场的Update()部分中的Block代码:

<?php
$orginalArr=array(array("id"=>1,"name"=>"Raj"),array("id"=>1,"name"=>"Raj"),array("id"=>2,"name"=>"Ram"),array("id"=>2,"name"=>"Ram"),array("id"=>3,"name"=>"Rahul"));

$newArray = array(); 

foreach ( $orginalArr as $arr )
    $newArray[$arr['id']] = array(
        'id' => $arr['id'], 
        'name' => $arr['name']); 



echo json_encode(array_values($newArray));
?>

下一位代码位于上面的下方,应该从.Count中删除1:

if (blocks.Count < 52)
        {             

           for (int j = 0; j < 12; j++)
         {
               blockXpos += (61);
               blocks.Add(new Blocks(Content.Load<Texture2D>("Blocks\\DurasteelBlock"), blockXpos, blockYpos));


               if (j == 11)
               {

                   for (int i = 0; i < 1; i++)
                   {

                       blockXpos = 3;
                       blocks.Add(new Blocks(Content.Load<Texture2D>("Blocks\\DurasteelBlock"), blockXpos, blockYpos));

                       blockYpos += (51);
                       if (i == 1)
                       {
                           j = 0;
                       }         
                   }
               }
           }
        }

我的问题是如何将第一行更改为基本上说&#39;在52&#39; 之后停止而不是&#39;如果计数小于52&#39;

3 个答案:

答案 0 :(得分:0)

在每个块之后。添加你必须检查blocks.Count并且如果它&gt; = 52,则退出循环。

答案 1 :(得分:0)

//remove the if before the for loop

for (int j = 0; j < 12; j++)
{
    if (blocks.Count >= 52)
    {
        break; //exit the for loop
    }

    blockXpos += (61);
    blocks.Add(new Blocks(Content.Load<Texture2D>("Blocks\\DurasteelBlock"), blockXpos, blockYpos));

    if (j == 11)
    {
        for (int i = 0; i < 1; i++)
        {
            blockXpos = 3;
            blocks.Add(new Blocks(Content.Load<Texture2D>("Blocks\\DurasteelBlock"), blockXpos, blockYpos));
            blockYpos += (51);
            if (i == 1)
            {
                j = 0;
            }         
        }
    }
}

请参阅break(MSDN)。

答案 2 :(得分:0)

我设法将它放入LoadContent部分,而现在解决了问题。