Esempio n. 1
0
            public void Shuffle()
            {
                plays = 0;
                deck.Clear();
                Suit heart   = new Heart();
                Suit diamond = new Diamond();
                Suit spade   = new Spade();
                Suit clubs   = new Clubs();

                for (int i = 0; i < 13; i++)
                {
                    deck.Add(new Card(heart, i));
                }
                for (int i = 0; i < 13; i++)
                {
                    deck.Add(new Card(diamond, i));
                }
                for (int i = 0; i < 13; i++)
                {
                    deck.Add(new Card(spade, i));
                }
                for (int i = 0; i < 13; i++)
                {
                    deck.Add(new Card(clubs, i));
                }

                Console.Write("Shuffling");
                for (int i = 0; i < 3; i++)
                {
                    Thread.Sleep(750);
                    Console.Write(".");
                }
                Console.WriteLine();
            }
Esempio n. 2
0
        private void SetRelativeValue(long absoluteValue)
        {
            var          relativeValue = 1;
            AbstractSuit suit;

            switch (Suit)
            {
            case SuitName.Diamonds:
                suit = new Diamond(absoluteValue);
                break;

            case SuitName.Spades:
                suit = new Spade(absoluteValue);
                break;

            case SuitName.Hearts:
                suit = new Heart(absoluteValue);
                break;

            default:
                suit = new Club(absoluteValue);
                break;
            }

            var tmp = suit.ToLong();

            while (tmp >= 1)
            {
                relativeValue++;
                tmp /= 2;
            }
            RelativeValue = relativeValue;
        }
Esempio n. 3
0
 private static void CreateSuitsFromHand(long hand)
 {
     _clubs    = new Club(hand);
     _diamonds = new Diamond(hand);
     _spades   = new Spade(hand);
     _hearts   = new Heart(hand);
 }
Esempio n. 4
0
        public static void Test_User_Without_Flush_Test()
        {
            Player player = new Player("Ben");

            List <Player> players = new List <Player>();

            var   cards = new List <ICard>();
            ICard c;

            c = new Spade(CardValues.Two);
            cards.Add(c);
            c = new Club(CardValues.Three);
            cards.Add(c);
            c = new Club(CardValues.Four);
            cards.Add(c);
            c = new Club(CardValues.Five);
            cards.Add(c);
            c = new Club(CardValues.Ace);
            cards.Add(c);

            players.Add(player);
            FiveCardPokerGame game = new FiveCardPokerGame(players);

            player.Hand = cards;

            Assert.That(game.CheckForFlush(), Is.False);
        }
Esempio n. 5
0
        public static void Test_Show_Hands()
        {
            Player        player1 = new Player("Ben");
            List <Player> players = new List <Player>();
            string        msg     = "Player Ben's hand is:\nFive ♦    Six ♥    Seven ♦    Eight ♠    Ace ♥";

            var   cards1 = new List <ICard>();
            ICard c;

            // Cards for player 1
            c = new Diamond(CardValues.Five);
            cards1.Add(c);
            c = new Heart(CardValues.Six);
            cards1.Add(c);
            c = new Diamond(CardValues.Seven);
            cards1.Add(c);
            c = new Spade(CardValues.Eight);
            cards1.Add(c);
            c = new Heart(CardValues.Ace);
            cards1.Add(c);

            players.Add(player1);

            FiveCardPokerGame game = new FiveCardPokerGame(players);

            player1.Hand = cards1;
            Assert.That(game.ShowHands().Trim(), Is.EqualTo(msg.Trim()));
        }
Esempio n. 6
0
        public Deck(List <Card> cards)
        {
            cards.Add(new Card("2", Diamd.ToString(), "20"));
            cards.Add(new Card("2", Heart.ToString(), "20"));
            cards.Add(new Card("2", Clubs.ToString(), "20"));
            cards.Add(new Card("2", Spade.ToString(), "20"));
            cards.Add(new Card("3", Diamd.ToString(), "500"));
            cards.Add(new Card("3", Heart.ToString(), "500"));
            cards.Add(new Card("3", Clubs.ToString(), "300"));
            cards.Add(new Card("3", Spade.ToString(), "300"));
            cards.Add(new Card("4", Diamd.ToString(), "5"));
            cards.Add(new Card("4", Heart.ToString(), "5"));
            cards.Add(new Card("4", Clubs.ToString(), "5"));
            cards.Add(new Card("4", Spade.ToString(), "5"));
            cards.Add(new Card("5", Diamd.ToString(), "5"));
            cards.Add(new Card("5", Heart.ToString(), "5"));
            cards.Add(new Card("5", Clubs.ToString(), "5"));
            cards.Add(new Card("5", Spade.ToString(), "5"));
            cards.Add(new Card("6", Diamd.ToString(), "5"));
            cards.Add(new Card("6", Heart.ToString(), "5"));
            cards.Add(new Card("6", Clubs.ToString(), "5"));
            cards.Add(new Card("6", Spade.ToString(), "5"));
            cards.Add(new Card("7", Diamd.ToString(), "5"));
            cards.Add(new Card("7", Heart.ToString(), "5"));
            cards.Add(new Card("7", Clubs.ToString(), "5"));
            cards.Add(new Card("7", Spade.ToString(), "5"));
            cards.Add(new Card("8", Diamd.ToString(), "5"));
            cards.Add(new Card("8", Heart.ToString(), "5"));
            cards.Add(new Card("8", Clubs.ToString(), "5"));
            cards.Add(new Card("8", Spade.ToString(), "5"));
            cards.Add(new Card("9", Diamd.ToString(), "10"));
            cards.Add(new Card("9", Heart.ToString(), "10"));
            cards.Add(new Card("9", Clubs.ToString(), "10"));
            cards.Add(new Card("9", Spade.ToString(), "10"));
            cards.Add(new Card("10", Diamd.ToString(), "10"));
            cards.Add(new Card("10", Heart.ToString(), "10"));
            cards.Add(new Card("10", Clubs.ToString(), "10"));
            cards.Add(new Card("10", Spade.ToString(), "10"));
            cards.Add(new Card("J", Diamd.ToString(), "10"));
            cards.Add(new Card("J", Heart.ToString(), "10"));
            cards.Add(new Card("J", Clubs.ToString(), "10"));
            cards.Add(new Card("J", Spade.ToString(), "10"));
            cards.Add(new Card("Q", Diamd.ToString(), "10"));
            cards.Add(new Card("Q", Heart.ToString(), "10"));
            cards.Add(new Card("Q", Clubs.ToString(), "10"));
            cards.Add(new Card("Q", Spade.ToString(), "10"));
            cards.Add(new Card("K", Diamd.ToString(), "10"));
            cards.Add(new Card("K", Heart.ToString(), "10"));
            cards.Add(new Card("K", Clubs.ToString(), "10"));
            cards.Add(new Card("K", Spade.ToString(), "10"));
            cards.Add(new Card("A", Diamd.ToString(), "20"));
            cards.Add(new Card("A", Heart.ToString(), "20"));
            cards.Add(new Card("A", Clubs.ToString(), "20"));
            cards.Add(new Card("A", Spade.ToString(), "20"));
            cards.Add(new Card("jkr", "", "50"));
            cards.Add(new Card("jkr", "", "50"));

            Cards = cards;
        }
        public void TwoSpades()
        {
            long  hand   = 0x000001800C006003;
            Spade spades = new Spade(hand);

            Assert.Equal(0x000000000C000000, (spades.Mask & hand));
            Assert.Equal("0000000000011", spades.ToBinaryString());
        }
Esempio n. 8
0
        public static void Test_Winners_From_High_Card_Tie()
        {
            Player        player1    = new Player("Ben");
            Player        player2    = new Player("Neb");
            List <Player> players    = new List <Player>();
            string        winningMsg = "Looks like we have a tie that round between:  Ben Neb with a High Card";

            var   cards1 = new List <ICard>();
            var   cards2 = new List <ICard>();
            ICard c;

            // Cards for player 1
            c = new Heart(CardValues.Two);
            cards1.Add(c);
            c = new Club(CardValues.Three);
            cards1.Add(c);
            c = new Club(CardValues.Four);
            cards1.Add(c);
            c = new Club(CardValues.Five);
            cards1.Add(c);
            c = new Club(CardValues.Ace);
            cards1.Add(c);

            // Cards for player 2
            c = new Spade(CardValues.Two);
            cards2.Add(c);
            c = new Diamond(CardValues.Three);
            cards2.Add(c);
            c = new Spade(CardValues.Four);
            cards2.Add(c);
            c = new Spade(CardValues.Five);
            cards2.Add(c);
            c = new Spade(CardValues.Ace);
            cards2.Add(c);

            players.Add(player1);
            players.Add(player2);

            FiveCardPokerGame game = new FiveCardPokerGame(players);

            player1.Hand = cards1;
            player2.Hand = cards2;

            Assert.That(game.GetRoundWinner(), Is.EqualTo(winningMsg));
            Assert.That(game.TiedPlayers.Contains(player1) &&
                        game.TiedPlayers.Contains(player2) &&
                        game.TiedPlayers.Count == 2, Is.True);
        }
Esempio n. 9
0
        public static void Test_Winner_From_Pair_With_High_Card()
        {
            Player        player1    = new Player("Ben");
            Player        player2    = new Player("Neb");
            List <Player> players    = new List <Player>();
            string        winningMsg = "Congratulations! The winner this round is: Neb with One Pair and High Card";

            var   cards1 = new List <ICard>();
            var   cards2 = new List <ICard>();
            ICard c;

            // Cards for player 1
            c = new Heart(CardValues.Two);
            cards1.Add(c);
            c = new Club(CardValues.Two);
            cards1.Add(c);
            c = new Club(CardValues.Four);
            cards1.Add(c);
            c = new Club(CardValues.Five);
            cards1.Add(c);
            c = new Club(CardValues.Ace);
            cards1.Add(c);

            // Cards for player 2
            c = new Spade(CardValues.Two);
            cards2.Add(c);
            c = new Diamond(CardValues.Two);
            cards2.Add(c);
            c = new Spade(CardValues.King);
            cards2.Add(c);
            c = new Heart(CardValues.Five);
            cards2.Add(c);
            c = new Heart(CardValues.Ace);
            cards2.Add(c);

            players.Add(player1);
            players.Add(player2);

            FiveCardPokerGame game = new FiveCardPokerGame(players);

            player1.Hand = cards1;
            player2.Hand = cards2;

            Assert.That(game.GetRoundWinner(), Is.EqualTo(winningMsg));
            Assert.That(game.Winner, Is.EqualTo(player2));
        }
        public static void Test_Player_Has_Three_Of_a_Kind()
        {
            Player player = new Player("Ben");
            ICard  card;

            card = new Spade(CardValues.Ace);
            player.Hand.Add(card);
            card = new Heart(CardValues.Ace);
            player.Hand.Add(card);
            card = new Club(CardValues.Ace);
            player.Hand.Add(card);
            card = new Spade(CardValues.Four);
            player.Hand.Add(card);
            card = new Spade(CardValues.Five);
            player.Hand.Add(card);

            Assert.IsTrue(player.CheckForThreeOfaKind());
        }
        public static void Test_Player_Has_No_Flush()
        {
            Player player = new Player("Ben");
            ICard  card;

            card = new Heart(CardValues.Ace);
            player.Hand.Add(card);
            card = new Spade(CardValues.Two);
            player.Hand.Add(card);
            card = new Spade(CardValues.Three);
            player.Hand.Add(card);
            card = new Spade(CardValues.Four);
            player.Hand.Add(card);
            card = new Spade(CardValues.Five);
            player.Hand.Add(card);

            Assert.IsFalse(player.CheckForFlush());
        }
        public static void Test_Player_Has_No_One_Pair()
        {
            Player player = new Player("Ben");
            ICard  card;

            card = new Spade(CardValues.Ace);
            player.Hand.Add(card);
            card = new Heart(CardValues.King);
            player.Hand.Add(card);
            card = new Club(CardValues.Three);
            player.Hand.Add(card);
            card = new Spade(CardValues.Four);
            player.Hand.Add(card);
            card = new Spade(CardValues.Five);
            player.Hand.Add(card);

            Assert.IsFalse(player.CheckForOnePair());
        }
        public static void Test_Player_One_Pair_Sum()
        {
            Player player = new Player("Ben");
            ICard  card;

            card = new Spade(CardValues.Ace);
            player.Hand.Add(card);
            card = new Heart(CardValues.Ace);
            player.Hand.Add(card);
            card = new Club(CardValues.King);
            player.Hand.Add(card);
            card = new Spade(CardValues.Four);
            player.Hand.Add(card);
            card = new Spade(CardValues.Five);
            player.Hand.Add(card);

            Assert.IsTrue(player.CheckForOnePair());
            Assert.AreEqual(13, player.onePairSum);
        }
        public static void Test_Player_Three_of_A_Kind_Sum()
        {
            Player player = new Player("Ben");
            ICard  card;

            card = new Spade(CardValues.Ace);
            player.Hand.Add(card);
            card = new Heart(CardValues.Ace);
            player.Hand.Add(card);
            card = new Club(CardValues.Ace);
            player.Hand.Add(card);
            card = new Spade(CardValues.Four);
            player.Hand.Add(card);
            card = new Spade(CardValues.Five);
            player.Hand.Add(card);

            Assert.IsTrue(player.CheckForThreeOfaKind());
            Assert.AreEqual(13, player.threeOfaKindSum);
        }
        public static void Test_Player_Not_High_Card()
        {
            Player player = new Player("Ben");
            ICard  card;

            card = new Spade(CardValues.Ace);
            player.Hand.Add(card);
            card = new Heart(CardValues.Six);
            player.Hand.Add(card);
            card = new Club(CardValues.Three);
            player.Hand.Add(card);
            card = new Spade(CardValues.Four);
            player.Hand.Add(card);
            card = new Spade(CardValues.Five);
            player.Hand.Add(card);

            player.OrderHand();

            Assert.IsFalse(player.HighCard.CompareTo(new Spade(CardValues.Six)) == 0);
        }
Esempio n. 16
0
        private void SetFamily(long absoluteValue)
        {
            var clubs    = new Club(absoluteValue);
            var diamonds = new Diamond(absoluteValue);
            var spades   = new Spade(absoluteValue);
            var hearts   = new Heart(absoluteValue);

            if (clubs.ToLong() > 0)
            {
                Suit = SuitName.Clubs;
            }
            if (diamonds.ToLong() > 0)
            {
                Suit = SuitName.Diamonds;
            }
            if (spades.ToLong() > 0)
            {
                Suit = SuitName.Spades;
            }
            if (hearts.ToLong() > 0)
            {
                Suit = SuitName.Hearts;
            }
        }