Пример #1
0
        public Hand(int t)
        {
            for (int i = 0; i < 2; i++)
            {
                cards[i] = new Card();
            }

            ID = t;
        }
        private void fill()
        {
            int index = 0;
            for (int r = 1; r <= 13; r++)
            {
                for (int s = 1; s <= 4; s++)
                {
                    deck[index] = new Card(r, s);
                    index++;
                }
            }

            numCards = 52;
        }
        //constructor
        public Deck()
        {
            Cards = new List<Card>(52); // this is the box of cards , not cards
            // 1 is ACE is The highest rank and 13 is KING is the lowest rank
            string[] CardFace = { "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King" }; //face
            string[] CardSuit = { "Spades", "Hearts", "Diamonds", "Clubs" }; //suits
            //Card [] Decks = new Card[52]; //num of cards
            for (int i = 0; i < CardSuit.Length; i++)
            {
                for (int j = 0; j < CardFace.Length; j++)
                {

                    Card c = new Card(CardFace[j], CardSuit[i], j + 1); //creat a card that have face and suit
                    //Cards.Add(new Card(CardFace[j], CardSuit[i], j + 1));
                    Cards.Add(c); // input all cards to a box = master box
                }
            }
            ShuffleCard();
        }
Пример #4
0
        static void ResetDeck()
        {
            deck = new List<Card>();

            for (int s = 0; s < 4; s++)
            {
                for (int n = 0; n < 13; n++)
                {
                    Card c = new Card();
                    c.suit = s;
                    c.number = n + 2;
                    deck.Add(c);
                }
            }
        }
 public void addCard(Card c)
 {
     pile[end] = c; end++;
 }
 public void collectCard(Card c)
 {
     wonPile.addCard(c);
 }
        public void play()
        {
            CardDeck cd = new CardDeck();
            string n1, n2;
            Console.Write("What's player1 name ? : ");
            n1 = Console.ReadLine();
            Console.Write("What's player2 name ? : ");
            n2 = Console.ReadLine();

            cd.shuffle();
            p1 = new Player(n1);
            p2 = new Player(n2);
               while (cd.getSize() >= 2)
            {
                p1.collectCard(cd.deal());
                p2.collectCard(cd.deal());
            }
            p1.useWonPile();
            p2.useWonPile();
            Pile down = new Pile();
            int t = 0;
            while (p1.numCards()>0)
            {
                if (!enoughCards(1)) break;
                Card c1 = p1.playCard();
                Card c2 = p2.playCard();
                Console.WriteLine("\nTurn " + t + ": ");
                t++;
                Console.Write(p1.getName() + ": " + c1 + " ");
                Console.Write(p2.getName() + ": " + c2 + " ");
                if (c1.compareTo(c2) > 0)
                {
                    p1.KeepCard();
                }
                else if (c1.compareTo(c2) < 0)
                {
                    p2.KeepCard();
                }
                else
                {
                    temp1 = new Card[14];
                    temp2 = new Card[14];
                    temp1[0] = c1;
                    temp2[0] = c2;
                    down.clear();
                    down.addCard(c1);
                    down.addCard(c2);
                    bool done = false;
                    do
                    {
                        int num = c1.getRank();
                        if (!enoughCards(num))
                            break;
                        Console.Write("\nWar! Players put down ");
                        Console.WriteLine(num + " card(s).");
                        for (int m = 1; m <= num; m++)
                        {
                            c1 = p1.playCard();
                            c2 = p2.playCard();
                            temp1[m] = c1;
                            temp2[m] = c2;
                            down.addCard(c1);
                            down.addCard(c2);

                        }
                        Console.Write(p1.getName() + ": " + c1 + " ");
                        Console.Write(p2.getName() + ": " + c2 + " ");
                        if (c1.compareTo(c2) == 0)
                        {
                            for (int m = num; m >= 0 ; m--)
                            {
                                p1.collectCard(temp1[m]);
                                p2.collectCard(temp2[m]);
                            }
                            done = true;
                        }

                        else if (c1.compareTo(c2) > 0)
                        {
                            for (int m = 1; m <= num+1; m++) { p1.KeepCard(); }
                                done = true;
                        }
                        else if (c1.compareTo(c2) < 0)
                        {
                            for (int m = 1; m <= num+1; m++) { p2.KeepCard(); }
                            done = true;
                        }
                    }
                    while (!done);
                }
                Console.WriteLine("Card "+ p1.getName()+ " : "+p1.numCards() + " And  Card " + p2.getName() + " : " + p2.numCards());
                Console.WriteLine(p1.getName()+" Score : "+p1.getscore() + " And "+p2.getName() + "  Score : "+ p2.getscore());
            }
        }