这是随机选出扑克牌中的一个方法

来源:百度知道 编辑:UC知道 时间:2024/05/25 15:30:49
这是随机选出扑克牌中的一个方法

public void Shuffle()
{
Card[] newDeck = new Card[52];
bool[] assigned = new bool[52];
//问题1:为什么 bool 还有[]?? 不是只有 ture,false吗? 怎么会有呢?

Random sourceGen = new Random();

for(int i=0; i<52; i++)
{
int destCard = 0;
bool foundCard = false;
//问题2: while(foundCard==false)是什么意思???
while(foundCard==false)
{
destCard=sourceGen.Next(52);
if(assigned[destCard]==false)
{
foundCard=true;
}
}
assigned[destCard]=true;
newDeck[destCard]=cards[i];
}
newDeck.CopyTo(cards,0);
}

}

谢谢了。

bool[] 指的是bool数组,跟字符串数组是一个道理

数组是一种结构,而不是指内容是数字,数组不是数字的集合

bool[] assigned = new bool[52]; //实例化一个数组,有52个元素,每个元素都是bool型的值,即每个元素不是true就是false

while(foundCard==false) //当还没有找到卡片时
{
destCard=sourceGen.Next(52); //随机一个52以内的数字
if(assigned[destCard]==false) //如果第destCard个卡片没有被使用过
{
foundCard=true; //已经找到卡片标志,退出while的循环
}
}
assigned[destCard]=true; //标记找到的卡片为使用过
newDeck[destCard]=cards[i]; //cards[i]?代码中没有找到定义
}