用卡填充数组的类

时间:2014-12-23 19:55:43

标签: c#

我正忙着用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) {

现在将所有这些值添加到此数组的最快方法是?

(我把它们放在一个数组中的原因很简单:因为我希望能够复制数组,而不是在已经投入游戏后删除每张卡)

1 个答案:

答案 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);
        }
    }
}