【发布时间】:2013-01-23 19:43:37
【问题描述】:
我正在设计一款名为 Snap 的纸牌游戏(这里有一个显示规则的链接 http://boardgames.about.com/od/cardgames/a/snap.htm),在我的版本中,如果出现一对,玩家必须点击中间的那堆。我目前有 4 个类,一个用于卡片(这是一个名为 cardValue_ 的 int),一个用于玩家手牌,一个用于原始纸牌,一个用于中间的一堆卡片。所以 Deck、Pile 和 Hand 类中有一个卡片列表。我现在正在尝试为包含卡片列表的 Deck 类编写一个 shuffle 方法。它将随机选择一张卡片并将其移动到新列表,直到所有卡片都被挑选出来,然后将它们移回原始列表,从而进行简单的洗牌。到目前为止,我的方法看起来像这样......
public List<Deck> Shuffle(List<Card> cardDeck)
{
int index = 0;
Random randomCard = new Random();
List<Card> newDeck = new List<Card>();
while (index < cardDeck.Count)
{
int ran = randomCard.Next(0, cardDeck.Count);
foreach (Card card in cardDeck)
{
}
}
}
我正在尝试弄清楚 foreach 循环中应该做什么(除非整个方法是错误的),但现在我想我已经在错误的地方声明了我的所有卡片,所有 52 张卡片目前都在表单中声明,还是我应该在 Deck 类中声明它们?
【问题讨论】:
-
我无法改进 Jeff 在 codinghorror.com/blog/2007/12/shuffling.html 上的博客
标签: c#