我正在尝试从牌组(cardArray)中将一张牌添加到手中,并且不允许重复。在 SuperCard 类中,我创建了一个名为 inPlay 的 bool 属性。当 Program.cs 启动时,有一个“shuffle”方法将所有卡片 inPlay bool 设置为 false。我试图弄清楚如何避免绘制同一张卡片,我正在尝试 if/else if 但那不起作用。当我离开 else if 时,它会遇到“无对象实例”异常。这是代码。任何帮助都会很棒。谢谢!
public SuperCard[] GetCards(int number)
{
SuperCard[] hand = new SuperCard[number];
for (int i = 0; i < number; i++)
{
int x = myRandom.Next(0, 51);
if (cardArray[x].inPlay == false)
{
hand[i] = cardArray[myRandom.Next(0, 51)];
cardArray[x].inPlay = true;
}
else if (cardArray[x].inPlay == true)
{
hand[i] = cardArray[myRandom.Next(0, 51)];
}
}
return hand;
}