我正忙着用C#创建一个简单的二十一点游戏。
现在我的卡片我想要使用实体类“Kaart”,因为当我想创建其他卡片游戏时,Blackjack我可以再次使用它。
所以我的物体包括:kleur(aces,黑桃,......),naam(A,K,J,10,...)和bjvalue(blackjackvalue)。
我使用此代码:
class Kaart
{
public Kaart()
{
}
public Kaart(string kleur, string naam, int bjwaarde)
{
this.Kleur = kleur;
this.Naam = naam;
this.Bjwaarde = bjwaarde;
}
public string Kleur { get; set; } // AutoProperty
public string Naam { get; set; } // AutoProperty
public int Bjwaarde { get; set; } // AutoProperty
现在我的问题是:
在我的游戏中使用我想创建一个包含52个项目(0-51)的数组,所有卡片代表一整堆卡片。 我的方法应该如何用所有这些对象填充数组..我是这样开始的:
public Kaart[] Vulstapel(Kaart[] Stapel) {
现在将所有这些值添加到此数组的最快方法是?
(我把它们放在一个数组中的原因很简单:因为我希望能够复制数组,而不是在已经投入游戏后删除每张卡)
答案 0 :(得分:2)
我会使用枚举,按照: Can you loop through all enum values?
而不是迭代:
public static IEnumerable<T> GetValues<T>()
{
return Enum.GetValues(typeof(T)).Cast<T>();
}
enum Suit { Spade = 1, Heart, Diamond, Cross };
public Main()
{
var values = GetValues<Suit>();
foreach(var d in values)
{
for(int val = 2; val < 11; ++val)
{
Kaart k = new Kaart(val,d);
}
}
}