我正在尝试编写一个简单的纸牌游戏。为了想出一个好的改组算法,我偶然发现了 Jeff Atwood在 Coding Horror 上的帖子。
但是,当我在调用构造函数后查看对象的内容时,它们不会被打乱。
这是我尝试使用 Jeff 的解决方案:
class MainDeck : List<Card>
{
public MainDeck()
{
this.Add(new Card(1, "Hearts"));
this.Add(new Card(2, "Hearts"));
this.Add(new Card(3, "Hearts"));
...
this.OrderBy(a => Guid.NewGuid());
}
}
这是卡的代码:
class Card
{
string suit;
int value;
public Card(int value, string suit)
{
this.value = value;
this.suit = suit;
}
bool isFaceCard()
{
if (value >= 11 || value == 1)
return true;
else
return false;
}
public override string ToString()
{
return (value +", " + suit);
}
}
我应该改变什么才能使洗牌工作?