Один из способов перемешать - создать новый массив и переместить карты в этот массив в случайном порядке.
List<Card> unshuffled = new List<Card>(pack);
pack = new Card[NUM_CARDS];
Random r = new Random()
for(int card = 0; card < NUM_CARDS; card++)
{
pack[card] = unshuffled[r.Next(0, unshuffled.Count -1)];
unshuffled.remove(pack[card]);
}
Возможно, вы захотите сделать экземпляр Random
глобальным, создав новый случайный экземплярвремя несколько уменьшает энтропию.Это может быть не важно, если вы не много тасуете.