デッキ (cardArray) からカードを手札に追加しようとしていますが、重複は許可されません。SuperCard クラスで、inPlay という bool のプロパティを作成しました。Program.cs の開始時に、すべてのカード 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;
}