删除卡座中的特定卡

时间:2017-12-27 13:57:48

标签: c#

所以我用枚举制作了一副牌。但现在我需要通过List<T>删除不同套装中2到6的所有牌。这段代码给出了:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    var d = new Deck();
    Log(Converteer.ToString(d), "NIEUWE DEK");
     // this works

   d.RemoveNonManilleCards();
   Log(Converteer.ToString(d, 8), "MANILLE-DECK");
    // should be ->
    // ♠A -  ♠7 -  ♠8 -  ♠9 - ♠10 -  ♠B -  ♠D -  ♠H
    // ♥A -  ♥7 -  ♥8 -  ♥9 - ♥10 -  ♥B -  ♥D -  ♥H
    // ♣A -  ♣7 -  ♣8 -  ♣9 - ♣10 -  ♣B -  ♣D -  ♣H
   // ♦A -  ♦7 -  ♦8 -  ♦9 - ♦10 -  ♦B -  ♦D -  ♦H

这是正在创建的套牌和删除卡片的空白。但我认为我完全错了。

public partial class Deck : List<Card>
{
    public Deck()
    {
        MakeDeck();
    }
    protected virtual void MakeDeck()
    {
        foreach (Suit k in System.Enum.GetValues(typeof(Suit)))
        {
            foreach (Rank n in System.Enum.GetValues(typeof(Rank)))
            {
                this.Add(new Card(k, n));
            }
        }
    }

    public void RemoveNonManilleCards()
    {
        foreach (Suit k in System.Enum.GetValues(typeof(Suit)))
        {
            foreach (Rank n in System.Enum.GetValues(typeof(Rank)))
            {
                this.RemoveRange(1, 5);
            }
        }

    }

你们有些人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

我认为我找到了解决问题的方法

result <- senators(Fem=13,Mal=87,sample.size=50,sample.number=10000)

raw <- sapply(1:length(result$Level), function(x){
  rep(result$Level, result$Freq)
})

hist(raw)

感谢您的回答!