用卡填充数组的类

本文关键字:数组 填充 | 更新日期: 2023-09-27 18:35:12

我正忙着用 C# 创建一个简单的二十一点游戏。

现在对于我的卡,我想使用实体类"Kaart",因为当我想创建其他纸牌游戏时,二十一点我可以再次使用它。

所以我的对象包括:kleur(aces,spades,..),naam(A,K,J,10,...)和bjvalue(二十一点值)。

我为此使用此代码:

    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) {

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

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

用卡填充数组的类

我会使用枚举,如下所示:你能遍历所有枚举值吗?

比迭代:

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