我正在尝试使用 rand() 函数洗牌一副牌,但由于某种原因,当我试图查看洗牌后的牌组是什么样子时,它完全没有洗牌。我不确定我错过了什么,所以任何帮助将不胜感激。
void Deck::Shuffle()
{
for (int j = 0; j <= 51; j++)
{
srand(time(0));
int i = 1 + rand()%52;
int k = 1 + rand()%52;
Card temp = theDeck[i];
theDeck[i] = theDeck[k];
theDeck[k]= temp;
}
}
编辑:谢谢大家的帮助。我已经修复了现在可以阅读的代码。
void Deck::Shuffle()
{
srand(time(0));
for (int j = 0; j <= 51; j++)
{
int i = 1 + rand()%52;
int k = 1 + rand()%52;
Card temp = theDeck[i];
theDeck[i] = theDeck[k];
theDeck[k]= temp;
}
}