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(); }
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; }
private static void CreateSuitsFromHand(long hand) { _clubs = new Club(hand); _diamonds = new Diamond(hand); _spades = new Spade(hand); _hearts = new Heart(hand); }
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); }
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())); }
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()); }
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); }
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); }
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; } }