2016-08-14 9 views
1

私はプログラミングに慣れていないし、C#には新しく、私は取っているコースのブラックジャックゲームを作成しようとしており、早期に問題を抱えています。アイテムのリストを別のリストに移動します。 C#

私がしようとしているのは、あるリストを別のリスト<に移動することです。または、それが簡単ならば。他のリストに項目を追加する最初の項目を元のリスト<から削除してください(または、これについて完全に間違っているとアドバイスをいただければ幸いです)

デッキからカードを移動するには:カードを別のリストに:playerHand

これはリスト<> "カードのデッキ"

public Deck() 
{ 
    //add card suits- 
    cards = new List<Cards>(); 
    // Hearts 
    cards.Add(new Cards("Ace", "Hearts", 11)); 
    cards.Add(new Cards("2", "Hearts", 2)); 
    cards.Add(new Cards("3", "Hearts", 3)); 
    cards.Add(new Cards("4", "Hearts", 4)); 
    cards.Add(new Cards("5", "Hearts", 5)); 
    cards.Add(new Cards("6", "Hearts", 6)); 
    cards.Add(new Cards("7", "Hearts", 7)); 
    cards.Add(new Cards("8", "Hearts", 8)); 
    cards.Add(new Cards("9", "Hearts", 9)); 
    cards.Add(new Cards("Jack", "Hearts", 10)); 
    cards.Add(new Cards("Queen", "Hearts", 11)); 
    cards.Add(new Cards("King", "Hearts", 12)); 
    // Diamonds 
    cards.Add(new Cards("Ace", "Diamonds", 11)); 
    cards.Add(new Cards("2", "Diamonds", 2)); 
    cards.Add(new Cards("3", "Diamonds", 3)); 
    cards.Add(new Cards("4", "Diamonds", 4)); 
    cards.Add(new Cards("5", "Diamonds", 5)); 
    cards.Add(new Cards("6", "Diamonds", 6)); 
    cards.Add(new Cards("7", "Diamonds", 7)); 
    cards.Add(new Cards("8", "Diamonds", 8)); 
    cards.Add(new Cards("9", "Diamonds", 9)); 
    cards.Add(new Cards("Jack", "Diamonds", 10)); 
    cards.Add(new Cards("Queen", "Diamonds", 11)); 
    cards.Add(new Cards("King", "DIamonds", 12)); 
    // Spade 
    cards.Add(new Cards("Ace", "Spades", 11)); 
    cards.Add(new Cards("2", "Spades", 2)); 
    cards.Add(new Cards("3", "Spades", 3)); 
    cards.Add(new Cards("4", "Spades", 4)); 
    cards.Add(new Cards("5", "Spades", 5)); 
    cards.Add(new Cards("6", "Spades", 6)); 
    cards.Add(new Cards("7", "Spades", 7)); 
    cards.Add(new Cards("8", "Spades", 8)); 
    cards.Add(new Cards("9", "Spades", 9)); 
    cards.Add(new Cards("Jack", "Spades", 10)); 
    cards.Add(new Cards("Queen", "Spades", 11)); 
    cards.Add(new Cards("King", "Spades", 12)); 
    // Clubs 
    cards.Add(new Cards("Ace", "Clubs", 11)); 
    cards.Add(new Cards("2", "Clubs", 2)); 
    cards.Add(new Cards("3", "Clubs", 3)); 
    cards.Add(new Cards("4", "Clubs", 4)); 
    cards.Add(new Cards("5", "Clubs", 5)); 
    cards.Add(new Cards("6", "Clubs", 6)); 
    cards.Add(new Cards("7", "Clubs", 7)); 
    cards.Add(new Cards("8", "Clubs", 8)); 
    cards.Add(new Cards("9", "Clubs", 9)); 
    cards.Add(new Cards("Jack", "Clubs", 10)); 
    cards.Add(new Cards("Queen", "Clubs", 11)); 
    cards.Add(new Cards("King", "Clubs", 12)); 
} 

答えて

2
Card cardToMove = cards[0]; 
cards.Remove(card); 
playerHand.Add(card); 

そしておそらくすべてのカードデッキを作成するためのクリーンな方法である:あなたの助けのための

List<string> types = new List<string> { "Hearts", "Diamonds", "Spades", "Clubs" }; 
List<dynamic> cards = new List<dynamic> 
{ 
    new {Text = "Ace", Number = 11 }, 
    new {Text = "2", Number = 2}, 
    new {Text = "3", Number = 3}, 
    new {Text = "4", Number = 4}, 
    new {Text = "5", Number = 5}, 
    new {Text = "6", Number = 6}, 
    new {Text = "7", Number = 7}, 
    new {Text = "8", Number = 8}, 
    new {Text = "9", Number = 9}, 
    new {Text = "Jack", Number = 10 }, 
    new {Text = "Queen", Number = 11 }, 
    new {Text = "King", Number = 12 } 
}; 

var cardDeck = (from type in types 
       from card in cards 
       select new Card(card.Text, type, card.Number)).ToList(); 
+0

感謝私は質問があります。 (申し訳ありませんが、その完全に明白な答え)あなたのコードで "カード"とは何ですか?私はvarカードを作成する必要がありますか?そしてそれは何を表すべきですか? – Kris

+0

これは動的オブジェクトのリストです。あなたはそれをリストに読み込むことができます。私はちょうど怠惰で、そのオブジェクトまたはタプルのオブジェクトを持つように感じていませんでした –

+0

ありがとう、私はそれを調べます。 – Kris

関連する問題