Example #1
0
 public void AddPlayer_WithOutOfRangeSeat_ReturnsFalse()
 {
     Game game = new Game();
     PokerPlayer player = new PokerPlayer("RobA2345");
     Assert.IsFalse(game.AddPlayerToGame(player, 0, 10M));
     Assert.IsFalse(game.AddPlayerToGame(player, 10, 10M));
 }
Example #2
0
 public void AddPlayer_WithSeatUnavailable_ReturnsFalse()
 {
     Game game = new Game();
     PokerPlayer player = new PokerPlayer("RobA2345");
     Assert.IsTrue(game.AddPlayerToGame(player, 9, 1100M));
     Assert.IsFalse(game.AddPlayerToGame(player, 9, 1100M));
 }
Example #3
0
            public void Player1WinsWithStraight()
            {
                game = new PokerGame("name1", "name2");

                // Ignore the cards built by constructor for the test
                var p1 = new PokerPlayer("p1");
                var p2 = new PokerPlayer("p2");

                p1.Cards.Clear();
                p2.Cards.Clear();

                game.Player2.Cards.Clear();

                p1.Cards = new List<Card>
                {
                    new Card {Value = CardValue.Four, Suit = Suit.Diamonds},
                    new Card {Value = CardValue.Five, Suit = Suit.Hearts},
                    new Card {Value = CardValue.Seven, Suit = Suit.Spades},
                    new Card {Value = CardValue.Six, Suit = Suit.Clubs},
                    new Card {Value = CardValue.Three, Suit = Suit.Diamonds}
                };

                p2.Cards = new List<Card>
                {
                    new Card {Value = CardValue.Four, Suit = Suit.Diamonds},
                    new Card {Value = CardValue.Ace, Suit = Suit.Hearts},
                    new Card {Value = CardValue.Ten, Suit = Suit.Spades},
                    new Card {Value = CardValue.Two, Suit = Suit.Clubs},
                    new Card {Value = CardValue.King, Suit = Suit.Diamonds}
                };
            }
Example #4
0
 public void AddPlayer_WithSeatAvailable_ReturnsTrue()
 {
     Game game = new Game();
     PokerPlayer player = new PokerPlayer("RobA2345");
     bool playerAdded = game.AddPlayerToGame(player, 1, 1100M);
     Assert.IsTrue(playerAdded);
 }
 public void BuyInToGame_WithValidAmount_AddsPlayerToGame()
 {
     Game game = new Game(minmiumBuyIn: 100M, maximumBuyIn: 200M);
     PokerPlayer player = new PokerPlayer("RobA2345");
     player.BuyInToGame(game, 1, 150M);
     Assert.AreEqual(1, game.PlayerCount);
 }
 public void ReceiveCard_AddsCardToHand()
 {
     Deck deck = new Deck();
     PokerPlayer player = new PokerPlayer("RobA2345");
     player.ReceiveCard(deck.Pop());
     Assert.AreEqual(1, player.ShowHand().Count());
 }
Example #7
0
 public void Deal_ToPlayer_RemovesCardFromDeck()
 {
     PokerPlayer player = new PokerPlayer("RobA2345");
     Dealer dealer = new Dealer(new Game(), new Deck());
     dealer.Deal(player);
     Assert.AreEqual(51, dealer.DeckCount);
 }
Example #8
0
 public PokerAI(PokerPlayer player, int peekingSkill, int playingSkill)
 {
     Debug.Log("PokerAI.PokerAI(peekingSkill = " + peekingSkill + ", playingSkill=" + playingSkill + ")");
     this.player = player;
     this.peekingSkill = peekingSkill;
     this.playingSkill = playingSkill;
 }
 public BettingRoundStage(Deck deck, Board board, Pot pot, ArrayList players, PokerPlayer dealer)
 {
     this.deck = deck;
     this.board = board;
     this.pot = pot;
     this.players = players;
     currentPlayer = dealer;
 }
 public void BuyInToGame_WithInvalidAmount_DoesNotAddPlayerToGame()
 {
     Game game = new Game(minmiumBuyIn: 100M, maximumBuyIn: 200M);
     PokerPlayer player = new PokerPlayer("RobA2345");
     player.BuyInToGame(game, 1, 250M);
     player.BuyInToGame(game, 1, 90M);
     Assert.AreEqual(0, game.PlayerCount);
 }
 public MinimumBetsStage(Pot pot, ArrayList players, PokerPlayer dealer)
 {
     this.pot = pot;
     this.players = players;
     this.dealer = dealer;
     currentPlayer = dealer;
     firstDone = false;
 }
Example #12
0
 public int Call(PokerPlayer player)
 {
     FModManager.StartEvent(FModLies.EVENTID_LIES_ACTIONS_POKER_DEALING);
     int chipsNeeded = GetCallCost(player);
     bets[player] = GetHighestBet();
     if (previousRaiser == null){
         previousRaiser = player;
     }
     return chipsNeeded;
 }
Example #13
0
 public void Clear(ArrayList players)
 {
     bets = new Hashtable();
     foreach (PokerPlayer player in players){
         bets[player] = 0;
     }
     playersIn = new ArrayList(players);
     previousRaiser = null;
     displayedPotSize = 0;
 }
Example #14
0
        public void CollectCards_FromPlayer_ReturnsCardsToDeck()
        {
            PokerPlayer player = new PokerPlayer("RobA2345");
            Dealer dealer = new Dealer(new Game(), new Deck());
            dealer.Deal(player);
            dealer.Deal(player);

            dealer.CollectCards(player);
            Assert.AreEqual(52, dealer.DeckCount);
        }
        public void ReturnCards_ReturnsEnumerableOfCardsAndClearsHand()
        {
            Deck deck = new Deck();
            PokerPlayer player = new PokerPlayer("RobA2345");
            player.ReceiveCard(deck.Pop());
            player.ReceiveCard(deck.Pop());

            Assert.AreEqual(2, player.ShowHand().Count());

            IEnumerable<Card> cards = player.ReturnCards();
            Assert.AreEqual(2, cards.Count());
            Assert.AreEqual(0, player.ShowHand().Count());
        }
Example #16
0
    public PokerPlayer GetBestPlayer()
    {
        PokerPlayer bestPlayer  = null;
        float       bestFitness = 0;

        foreach (var player in players)
        {
            if (bestFitness < player.GetFitness())
            {
                bestFitness = player.GetFitness();
                bestPlayer  = player;
            }
        }

        return(bestPlayer);
    }
 //Returns true if the betting round is over.
 private bool NextTurn()
 {
     int index = players.IndexOf(currentPlayer);
     index++;
     if (index >= players.Count){
         index = 0;
     }
     currentPlayer = (PokerPlayer)players[index];
     if (pot.IsFinished(currentPlayer)){
         return true;
     }
     if (pot.IsIn(currentPlayer)){
         currentPlayer.Bet(deck, board, pot, players);
     }
     return false;
 }
        public void Pokerplayer_FullHouse_ThreeLow()
        {
            var player = new PokerPlayer();

            player.Hand.Add(new Card(CardFaces.Five.Key, 5, CardSuits.Clubs));
            player.Hand.Add(new Card(CardFaces.Two.Key, 2, CardSuits.Hearts));
            player.Hand.Add(new Card(CardFaces.Five.Key, 5, CardSuits.Hearts));
            player.Hand.Add(new Card(CardFaces.Two.Key, 2, CardSuits.Spades));
            player.Hand.Add(new Card(CardFaces.Two.Key, 2, CardSuits.Diamonds));

            player.ScoreHand();

            Assert.AreEqual(PokerHandValues.FullHouse, player.HandValue);
            Assert.AreEqual(5, player.HighSetValue);
            Assert.AreEqual(2, player.LowSetValue);
            Assert.AreEqual(FullHouseTypes.ThreeLow, player.FullHouseType);
        }
        public void Pokerplayer_ThreeKind_HighestCards(string highCardFace, int cardValue)
        {
            var player        = new PokerPlayer();
            var highCardValue = cardValue == 1 ? 14 : cardValue;

            player.Hand.Add(new Card(CardFaces.King.Key, 13, CardSuits.Clubs));
            player.Hand.Add(new Card(CardFaces.Two.Key, 2, CardSuits.Hearts));
            player.Hand.Add(new Card(CardFaces.King.Key, 13, CardSuits.Hearts));
            player.Hand.Add(new Card(CardFaces.King.Key, 13, CardSuits.Spades));
            player.Hand.Add(new Card(highCardFace, cardValue, CardSuits.Diamonds));

            player.ScoreHand();

            Assert.AreEqual(PokerHandValues.ThreeOfAKind, player.HandValue);
            Assert.AreEqual(13, player.HighSetValue);
            Assert.AreEqual(highCardValue, player.HighCard);
        }
        public void Pokerplayer_TwoPair_SplitCards()
        {
            var player = new PokerPlayer();

            player.Hand.Add(new Card(CardFaces.Two.Key, 2, CardSuits.Clubs));
            player.Hand.Add(new Card(CardFaces.Two.Key, 2, CardSuits.Hearts));
            player.Hand.Add(new Card(CardFaces.Five.Key, 5, CardSuits.Clubs));
            player.Hand.Add(new Card(CardFaces.King.Key, 13, CardSuits.Spades));
            player.Hand.Add(new Card(CardFaces.King.Key, 13, CardSuits.Diamonds));

            player.ScoreHand();

            Assert.AreEqual(PokerHandValues.TwoPair, player.HandValue);
            Assert.AreEqual(5, player.HighCard);
            Assert.AreEqual(13, player.HighSetValue);
            Assert.AreEqual(2, player.LowSetValue);
        }
        public void Pokerplayer_Pair_HighestCards(string highCardFace, int cardValue)
        {
            var player        = new PokerPlayer();
            var highCardValue = cardValue == 1 ? 14 : cardValue;

            player.Hand.Add(new Card(CardFaces.Ten.Key, 10, CardSuits.Clubs));
            player.Hand.Add(new Card(CardFaces.King.Key, 13, CardSuits.Hearts));
            player.Hand.Add(new Card(highCardFace, cardValue, CardSuits.Clubs));
            player.Hand.Add(new Card(CardFaces.King.Key, 13, CardSuits.Clubs));
            player.Hand.Add(new Card(CardFaces.Three.Key, 3, CardSuits.Clubs));

            player.ScoreHand();

            Assert.AreEqual(PokerHandValues.Pair, player.HandValue);
            Assert.AreEqual(highCardValue, player.HighCard);
            Assert.AreEqual(13, player.HighSetValue);
        }
Example #22
0
    private float[][] PointSpliceCrossover(PokerPlayer dominat, PokerPlayer submissive)
    {
        float[][] returnList      = new float[2][];
        float[]   dominatGenom    = dominat.network.GetNetworkGenom();
        float[]   submissiveGenom = submissive.network.GetNetworkGenom();


        if (spliceCount > 1)
        {
            //get a random split point
            int rand = Random.Range(0, dominatGenom.Length - 1);

            for (int i = 0; i < dominatGenom.Length; i++)
            {
                if (i > rand)
                {
                    //sawp genom values to the rigth of the splitting point
                    float holder = dominatGenom[i];
                    dominatGenom[i]    = submissiveGenom[i];
                    submissiveGenom[i] = holder;
                }
            }
        }
        else
        {
            //get 2 split points, one random and the other one based on what is left
            int rand  = Random.Range(0, dominatGenom.Length - 3);
            int rand2 = Random.Range(rand + 2, dominatGenom.Length - 1);

            for (int i = 0; i < dominatGenom.Length; i++)
            {
                if (i > rand && i < rand2)
                {
                    //sawp genom values in between the 2 random generated values
                    float holder = dominatGenom[i];
                    dominatGenom[i]    = submissiveGenom[i];
                    submissiveGenom[i] = holder;
                }
            }
        }

        returnList[0] = dominatGenom;
        returnList[1] = submissiveGenom;
        return(returnList);
    }
        public async Task <WinnerViewModel> GetWinner(PlayersViewModel players)
        {
            if (players.Players.Count == 0)
            {
                players.Players.Add(GetMockPlayer("Frankie"));
                players.Players.Add(GetMockPlayer("Johnny"));
                players.Players.Add(GetMockPlayer("Sammy"));
            }

            PokerPlayer winner = GetWinner(players.Players);

            WinnerViewModel winnerViewModel = new WinnerViewModel()
            {
                WinnerPlayer = winner, Players = players.Players
            };

            return(winnerViewModel);
        }
Example #24
0
        public void Check_Player_Has_Cards_After_Dealer_Dealt()
        {
            //arrange
            Deck   baraha = new Deck();
            Dealer john   = new Dealer();

            john.Shuffle(baraha.Cards);
            PokerPlayer player1 = new PokerPlayer("player1");
            PokerPlayer player2 = new PokerPlayer("player2");

            Collection <PokerPlayer> players = new Collection <PokerPlayer>();

            //act
            players = john.Deal(players);

            //assert
            Assert.AreEqual(5, players[0].Cards.Count);
        }
Example #25
0
 public static void PokerPlayerAction(PokerPlayer player, PlayerAction action, string tablename, bool isDonation)
 {
     try
     {
         using (var op = new StreamWriter("Logs/Poker/" + tablename + ".log", true))
         {
             op.WriteLine(
                 "Player {0} with account {1} {4} for {2:#,0} {3}.",
                 player.Mobile.Name,
                 player.Mobile.Account == null ? "(-null-)" : player.Mobile.Account.Username,
                 player.Bet,
                 (isDonation ? "donation coins" : "gold"),
                 player.Action);
         }
     }
     catch
     { }
 }
Example #26
0
        public static string GenerateNewPlayerName(string startingName, short pokerClientId, bool obfuscate)
        {
            string newPlayerName = "";

            if (DatabaseMode.LOCALMODE.Equals(Mode))
            {
                List <string> obfuscatedNames = new List <string>()
                {
                    "Bob", "Alice", "Charlene", "Eve", "Tak", "Marc", "Matt", "Ailwyn", "Edmund", "Lucifer", "Denis", "Kent", "Clark", "Bruce", "Peter", "Nike", "Steve", "Rio", "Tony", "Stan"
                };
                List <string> characters = new List <string>()
                {
                    "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
                };

                //Check to see if we have created a player with this name before
                do
                {
                    string tryName;
                    if (obfuscate)
                    {
                        tryName = ShuffleList.Shuffle(obfuscatedNames)[0] + "-" + String.Join("", ShuffleList.Shuffle(characters).Take(3).ToArray());
                    }
                    else
                    {
                        tryName = startingName + "-" + String.Join("", ShuffleList.Shuffle(characters).Take(3).ToArray());
                    }

                    //Unique name check
                    PokerPlayer playerDetails = playerDetailsByPlayerName(tryName, pokerClientId);
                    if (playerDetails == null)
                    {
                        newPlayerName = tryName;
                        break;
                    }
                } while (true);
            }
            else
            {
                throw new NotImplementedException();
            }

            return(newPlayerName);
        }
Example #27
0
        public void Test_Winner_Evaluation_Repeatedly()
        {
            //run several tests
            for (int i = 0; i < 10; i++)
            {
                //arrange
                Deck   baraha = new Deck();
                Dealer john   = new Dealer();
                john.Shuffle(baraha.Cards);
                PokerPlayer player1 = new PokerPlayer("player1");
                PokerPlayer player2 = new PokerPlayer("player2");
                PokerPlayer player3 = new PokerPlayer("player3");
                PokerPlayer player4 = new PokerPlayer("player4");
                PokerPlayer player5 = new PokerPlayer("player5");


                Collection <PokerPlayer> players = new Collection <PokerPlayer>();
                players.Add(player1);
                players.Add(player2);
                players.Add(player3);
                players.Add(player4);
                players.Add(player5);

                //act

                players = john.Deal(players);
                Game game    = new Game(players, Round.ShowDown);
                var  winners = game.Run();

                foreach (var player in players)
                {
                    player.ShowCard();
                }

                Console.WriteLine("we have {0} winner/s", winners.Count);
                foreach (var player in winners)
                {
                    Console.WriteLine("player {0} has {1} set of cards has value of {2}", player.name, player.hand, player.CardTotal);
                }
            }

            //assert
            Assert.AreEqual(0, 0);
        }
Example #28
0
    public override void Execute(PokerPlayer p)
    {
        CardPokerFace newCard      = null;
        Vector3       cardPosition = Vector3.zero;
        Sequence      seq          = DOTween.Sequence();
        Layout        layout       = PokerFaceManager.S.layout;

        while (p.selectedCards.Count > 0)
        {
            cardPosition    = p.selectedCards[0].transform.localPosition;
            cardPosition.y -= 0.5f;
            int layerID = p.selectedCards[0].spriteRenderer.sortingLayerID;
            PokerFaceManager.S.MoveToDiscard(p.selectedCards[0]);
            // move old card to discard
            seq.Append(p.selectedCards[0].transform.DOMove(new Vector3(0f, 4.5f, 0f), 0.5f));
            newCard = PokerFaceManager.S.Draw(); // get new card from drawpile
            newCard.spriteRenderer.sortingLayerID = layerID;
            newCard.spriteRenderer.sortingOrder   = 0;
            foreach (SpriteRenderer sr in newCard.spriteRenderers)
            {
                sr.sortingLayerID = newCard.spriteRenderer.sortingLayerID;
                if (sr.name == "back")
                {
                    sr.sortingOrder = 2;
                }
                else
                {
                    sr.sortingOrder = 1;
                    Vector3 wantedPos = sr.transform.localPosition;
                    wantedPos.z = -1;
                    sr.transform.localPosition = wantedPos;
                }
            }
            seq.Append(newCard.transform.DOLocalMove(new Vector3(0f, 4.5f, 0f), 0.01f));
            seq.Append(newCard.transform.DOLocalMove(cardPosition, 0.5f).OnStart(() => PokerFaceManager.S.PlaySound(SoundType.CardMoveSlow))); // animate movement
            seq.Append(p.selectedCards[0].transform.DOMove(new Vector3(layout.multiplier.x * layout.discardPile.x - 80, layout.multiplier.y * layout.discardPile.y, -layout.discardPile.layerID + 0.5f), 0f));
            seq.Play();
            newCard.index          = p.selectedCards[0].index; // assigning the correct index
            p.cards[newCard.index] = newCard;                  // assign the correct card to player card list
            p.DeselectCard(p.selectedCards[0]);                // make sure the card is no longer selected
        }
        PokerFaceManager.S.RemovePokerHand(p);
        PokerFaceManager.S.AddPokerHand(p);
    }
        public void EvaluateHandValue_ReturnsUintValue()
        {
            Game game = new Game();
            Dealer dealer = new Dealer(game, new Deck());
            PokerPlayer rob = new PokerPlayer("RobA2345");

            dealer.ShuffleDeck();

            dealer.Deal(rob);
            dealer.Deal(rob);

            dealer.DealFlop(game);
            dealer.DealTurn(game);
            dealer.DealRiver(game);

            HandEvaluatorWrapper handEvaluator = new HandEvaluatorWrapper();
            uint handValue = handEvaluator.EvaluateHandValue(rob.ShowHand(), game.CommunityCards);
            Assert.IsTrue(handValue > 0);
        }
        public void TestIsDuplicateCard()
        {
            //Arrange
            PlayPokerGame PokerFirstGame = new PlayPokerGame();

            PokerPlayer Joe = new PokerPlayer("Joe");

            PokerFirstGame.AddPlayer(Joe);

            PokerFirstGame.GivePlayingCards(Joe, new PlayingCard {
                Rank = RankType.Eight, Suit = SuitType.Clubs
            });
            PokerFirstGame.GivePlayingCards(Joe, new PlayingCard {
                Rank = RankType.Six, Suit = SuitType.Heart
            });
            PokerFirstGame.GivePlayingCards(Joe, new PlayingCard {
                Rank = RankType.Eight, Suit = SuitType.Heart
            });
            PokerFirstGame.GivePlayingCards(Joe, new PlayingCard {
                Rank = RankType.Jack, Suit = SuitType.Heart
            });
            PokerFirstGame.GivePlayingCards(Joe, new PlayingCard {
                Rank = RankType.Eight, Suit = SuitType.Diamond
            });
            PokerFirstGame.GivePlayingCards(Joe, new PlayingCard {
                Rank = RankType.Eight, Suit = SuitType.Diamond
            });

            //Act
            try
            {
                PokerHand pokerHand = PokerFirstGame.GetWinner();
            }
            catch (Exception ex)
            {
                //Assert
                StringAssert.Contains(ex.Message.ToString(), "Duplicate card(s) found");
                return;
            }

            Assert.Fail("No exception was thrown.");
        }
Example #31
0
    private void OnApplicationQuit()
    {
        if (saveBestBrain)
        {
            float       fittnes = 0;
            PokerPlayer player  = null;

            foreach (var game in games)
            {
                if (fittnes < game.GetBestPlayer().GetFitness())
                {
                    fittnes = game.GetBestPlayer().GetFitness();
                    player  = game.GetBestPlayer();
                }
            }

            player.SaveBrain();
            Debug.Log("Best brain saved");
        }
    }
Example #32
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var players = new List <PokerPlayer>();

            for (int i = 0; i < 4; i++)
            {
                var cards = new List <PokerCard>();
                for (int j = 0; j < 5; j++)
                {
                    cards.Add(GetRandomCard());
                }
                var player = new PokerPlayer {
                    Name = Names[i], PokerCards = cards
                };
                players.Add(player);
            }
            UpdatePlayers(players);
            //get winners
            GetWinners(players);
        }
 private bool NextTurn()
 {
     int index = players.IndexOf(currentPlayer);
     index++;
     if (index >= players.Count){
         index = 0;
     }
     currentPlayer = (PokerPlayer)players[index];
     if (!firstDone){
         currentPlayer.RaiseMinimumBet(pot, MINIMUM_BET);
         firstDone = true;
     } else {
         currentPlayer.CallMinimumBet(pot);
     }
     if (currentPlayer == dealer){
         return true;
     } else {
         return false;
     }
 }
Example #34
0
    private int Partition(List <PokerPlayer> arr, int start, int end)
    {
        PokerPlayer temp;
        PokerPlayer p = arr[end];
        int         i = start - 1;

        for (int j = start; j <= end - 1; j++)
        {
            if (arr[j].GetFitness() <= p.GetFitness())
            {
                i++;
                temp   = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }

        temp       = arr[i + 1];
        arr[i + 1] = arr[end];
        arr[end]   = temp;
        return(i + 1);
    }
        public void Can_Play_All_Games()
        {
            #region Arrange

            var player = new PokerPlayer();

            #endregion

            #region Act

            player.PlayGames();

            #endregion

            #region Assert

            Assert.IsTrue(player.Player1Wins > 0);
            Assert.IsTrue(player.Player2Wins > 0);
            Assert.IsTrue(player.Player1Wins + player.Player2Wins == 1000);

            #endregion
        }
Example #36
0
    private float[][] UniformSpliceCrossover(PokerPlayer dominat, PokerPlayer submissive)
    {
        float[][] returnList   = new float[2][];
        float[]   dominatGenom = dominat.network.GetNetworkGenom();
        float[]   submisive    = submissive.network.GetNetworkGenom();

        //do the combination, works for 1 and 2 splits points
        for (int i = 0; i < dominatGenom.Length; i++)
        {
            if (Random.Range(0, 100) >= uniformProbability)
            {
                //sawp genom values in a given range
                float holder = dominatGenom[i];
                dominatGenom[i] = submisive[i];
                submisive[i]    = holder;
            }
        }

        returnList[0] = dominatGenom;
        returnList[1] = submisive;
        return(returnList);
    }
Example #37
0
        public void Test_Poker_Hand_Reader()
        {
            //arrange
            Deck   baraha = new Deck();
            Dealer john   = new Dealer();

            john.Shuffle(baraha.Cards);
            PokerPlayer player1 = new PokerPlayer("player1");
            PokerPlayer player2 = new PokerPlayer("player2");

            Collection <PokerPlayer> players = new Collection <PokerPlayer>();

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

            //act
            players = john.Deal(players);
            Game game    = new Game(players, Round.ShowDown);
            var  winners = game.Run();

            //assert
            Assert.AreEqual(0, 0);
        }
            /// <summary>
            /// If the player already exists in the database, pokerPlayer object is populated. If player does not exist, a new player is created and pokerPlayer object is populated.
            /// </summary>
            /// <param name="playerId"></param>
            /// <param name="botConfigId"></param>
            /// <param name="playerName"></param>
            /// <param name="pokerClientId"></param>
            public pokerPlayer(string playerName, short pokerClientId, databaseCache parentCache)
            {
                this.parentCache = parentCache;
                PokerPlayer pokerPlayers = databaseQueries.playerDetailsByPlayerName(playerName, pokerClientId);

                if (pokerPlayers != null)
                {
                    //Player already exists, populate pokerPlayer object
                    this.playerId      = pokerPlayers.PlayerId;
                    this.playerName    = pokerPlayers.PlayerName;
                    this.pokerClientId = pokerPlayers.PokerClientId;
                    this.isBot         = (pokerPlayers.AiType == AIGeneration.NoAi_Human ? false : true);
                }
                else
                {
                    //Player does not exist, so create new player
                    this.playerName    = playerName;
                    this.pokerClientId = pokerClientId;
                    this.isBot         = false;

                    this.playerId = databaseQueries.CreateNewNonBotPlayer(playerName, pokerClientId);
                }
            }
Example #39
0
        public void TestIsDuplicatePlayer()
        {
            //Arrange
            PlayPokerGame PokerFirstGame = new PlayPokerGame();

            PokerPlayer Batman = new PokerPlayer("Batman");
            PokerPlayer Robin  = new PokerPlayer("Batman");

            //Act
            try
            {
                PokerFirstGame.AddPlayer(Batman);
                PokerFirstGame.AddPlayer(Robin);
            }
            catch (Exception ex)
            {
                //Assert
                StringAssert.Contains(ex.Message.ToString(), "Player name already exists");
                return;
            }

            Assert.Fail("No exception was thrown.");
        }
Example #40
0
    public override void Execute(PokerPlayer p)
    {
        if (p is AIPokerPlayer)
        {
            if (PokerFaceManager.S.amountToBet < (p.totalAmount - p.betAmount))
            {
                p.raiseCashAmount = Random.Range(PokerFaceManager.S.amountToBet + 1, p.totalAmount);
            }
            else
            {
                Debug.LogError(p.name + " tried to raise, but doesnt have enough money");
            }
            p.betAmount   += p.raiseCashAmount;
            p.totalAmount -= p.raiseCashAmount;
            UIManager.S.PlayMovingBetSequence(p);
            Debug.Log(p.name + " Raise " + p.raiseCashAmount);
        }
        else
        {
            Debug.Log(p.name + " Raise " + p.betAmount);
        }

        PokerFaceManager.S.SetAmountToBet(p.betAmount);
    }
Example #41
0
 public override void Execute(PokerPlayer p)
 {
     Debug.Log(p.name + " Check");
     PokerFaceManager.S.PlaySound(SoundType.Check);
 }
Example #42
0
        public void AACase()
        {
            // Arrange
            var jsonString = @"{
   ""tournament_id"": ""604661d35395db00047b2859"",
            ""game_id"": ""6048bc12c7bae6000442bc0d"",
            ""round"": 0,
            ""players"": [
            {
                ""name"": ""Royal Flush"",
                ""stack"": 1000,
                ""status"": ""active"",
                ""bet"": 0,
                ""hole_cards"": [
                {
                    ""rank"": ""7"",
                    ""suit"": ""clubs""
                },
                {
                    ""rank"": ""K"",
                    ""suit"": ""spades""
                }
                ],
                ""time_used"": 0,
                ""version"": ""Default C# folding player"",
                ""id"": 0
            },
            {
                ""name"": ""Oceans 5"",
                ""stack"": 998,
                ""status"": ""active"",
                ""bet"": 2,
                ""time_used"": 0,
                ""version"": ""V02"",
                ""id"": 1
            },
            {
                ""name"": ""Stone Cold Nuts"",
                ""stack"": 996,
                ""status"": ""active"",
                ""bet"": 4,
                ""time_used"": 0,
                ""version"": ""Stone Cold Nuts"",
                ""id"": 2
            },
            {
                ""name"": ""Heavy Waterfall"",
                ""stack"": 1000,
                ""status"": ""folded"",
                ""bet"": 0,
                ""time_used"": 21039,
                ""version"": ""We smarter now."",
                ""id"": 3
            },
            {
                ""name"": ""Lean Stakes"",
                ""stack"": 1000,
                ""status"": ""folded"",
                ""bet"": 0,
                ""time_used"": 13293,
                ""version"": ""The lean stakes"",
                ""id"": 4
            },
            {
                ""name"": ""Flop Bot"",
                ""stack"": 1000,
                ""status"": ""folded"",
                ""bet"": 0,
                ""time_used"": 13996,
                ""version"": ""TO THE MOON ??? - 13:02"",
                ""id"": 5
            },
            {
                ""name"": ""SalasBot"",
                ""stack"": 996,
                ""status"": ""active"",
                ""bet"": 4,
                ""time_used"": 851440,
                ""version"": ""Default C# folding player"",
                ""id"": 6
            },
            {
                ""name"": ""Negreanu 2"",
                ""stack"": 1000,
                ""status"": ""folded"",
                ""bet"": 0,
                ""time_used"": 64994,
                ""version"": ""Update"",
                ""id"": 7
            }
            ],
            ""small_blind"": 2,
            ""big_blind"": 4,
            ""orbits"": 0,
            ""dealer"": 0,
            ""community_cards"": [],
            ""current_buy_in"": 4,
            ""pot"": 10,
            ""in_action"": 0,
            ""minimum_raise"": 2,
            ""bet_index"": 7
        }";

            var json = JObject.Parse(jsonString);

            // Act
            int result = PokerPlayer.BetRequest(json);

            // Assert
            Assert.Equals(result, 39);
        }
Example #43
0
 public bool IsFinished(PokerPlayer playerInTurn)
 {
     if (previousRaiser == playerInTurn){
         previousRaiser = null;
         return true;
     } else {
         return false;
     }
 }
Example #44
0
 public float GetMaximumFairRaise(PokerPlayer currentPlayer)
 {
     float maximumFairRaise = Mathf.Infinity;
     foreach (PokerPlayer player in playersIn){
         if (player != currentPlayer){
             int stack = player.GetStack();
             int callCost = GetCallCost(player);
             maximumFairRaise = Mathf.Min(maximumFairRaise, (float)(stack - callCost));
         }
     }
     return maximumFairRaise;
 }
Example #45
0
 public bool IsIn(PokerPlayer player)
 {
     return playersIn.Contains(player);
 }
Example #46
0
        public void Test_Bob_Wins()
        {
            //arrange
            PokerPlayer Joe   = new PokerPlayer("Joe");
            PokerPlayer Bob   = new PokerPlayer("Bob");
            PokerPlayer Sally = new PokerPlayer("Sally");

            //Joe
            Card sevenD = new Card();

            sevenD.Rank = Rank.Seven;
            sevenD.Suit = Suit.Diamond;

            Card kingD = new Card();

            kingD.Rank = Rank.King;
            kingD.Suit = Suit.Diamond;

            Card queenD = new Card();

            queenD.Rank = Rank.Queen;
            queenD.Suit = Suit.Diamond;

            Card eightD = new Card();

            eightD.Rank = Rank.Eight;
            eightD.Suit = Suit.Diamond;

            Card threeD = new Card();

            threeD.Rank = Rank.Three;
            threeD.Suit = Suit.Diamond;

            //Bob card
            Card aceS = new Card();

            aceS.Rank = Rank.Ace;
            aceS.Suit = Suit.Spade;

            Card queenS = new Card();

            queenS.Rank = Rank.Queen;
            queenS.Suit = Suit.Spade;

            Card sixS = new Card();

            sixS.Rank = Rank.Six;
            sixS.Suit = Suit.Spade;

            Card eightS = new Card();

            eightS.Rank = Rank.Eight;
            eightS.Suit = Suit.Spade;

            Card fourS = new Card();

            fourS.Rank = Rank.Four;
            fourS.Suit = Suit.Spade;

            //Sally card
            Card threeH = new Card();

            threeH.Rank = Rank.Three;
            threeH.Suit = Suit.Heart;

            Card queenC = new Card();

            queenC.Rank = Rank.Queen;
            queenC.Suit = Suit.Club;

            Card fiveS = new Card();

            fiveS.Rank = Rank.Five;
            fiveS.Suit = Suit.Spade;

            Card eightC = new Card();

            eightC.Rank = Rank.Eight;
            eightC.Suit = Suit.Club;

            Card fourH = new Card();

            fourH.Rank = Rank.Four;
            fourH.Suit = Suit.Heart;

            //Collection<Card> cards = new Collection<Card>();
            Joe.ReceiveCard(kingD);
            Joe.ReceiveCard(sevenD);
            Joe.ReceiveCard(threeD);
            Joe.ReceiveCard(eightD);
            Joe.ReceiveCard(queenD);

            Bob.ReceiveCard(aceS);
            Bob.ReceiveCard(eightS);
            Bob.ReceiveCard(sixS);
            Bob.ReceiveCard(fourS);
            Bob.ReceiveCard(queenS);

            Sally.ReceiveCard(threeH);
            Sally.ReceiveCard(eightC);
            Sally.ReceiveCard(queenC);
            Sally.ReceiveCard(fourH);
            Sally.ReceiveCard(fiveS);

            Collection <PokerPlayer> players = new Collection <PokerPlayer>();

            players.Add(Bob);
            players.Add(Joe);
            players.Add(Sally);

            //act
            Game game    = new Game(players, Round.ShowDown);
            var  winners = game.Run();

            foreach (var player in players)
            {
                player.ShowCard();
            }

            PokerPlayer winner = new PokerPlayer("winner");

            foreach (var player in winners)
            {
                winner = player;
                Console.WriteLine("player {0} has {1} set of cards has value of {2}", player.name, player.hand, player.CardTotal);
            }

            //assert
            Assert.AreEqual(Bob.name, winner.name);
        }
 public void CollectBet(PokerPlayer p)
 {
     AddToPot(p.betAmount);
     p.betAmount = 0;
 }
Example #48
0
        public void Tests()
        {
            var player = new PokerPlayer("name");

            var hand = player.GenerateNewHand();

            Assert.IsTrue(hand.Count > 0);
        }
Example #49
0
 public abstract void Execute(PokerPlayer p);
    public void InitPlay()
    {
        //Debug.Log("InitPlay");
        gameState = GameState.Play;

        //if this is the first round
        if (!dealer)
        {
            //set dealer
            int rand = Random.Range(0, activePlayers.Count);
            dealer = activePlayers[rand];
            UIManager.S.SetDealerPosition();
            finalPlayer       = dealer;
            lastPlayerToSpeak = dealer;
            //set currentPlayer
            if (activePlayers.IndexOf(dealer) == activePlayers.Count - 1)
            {
                currentPlayer = activePlayers[0];
            }
            else
            {
                currentPlayer = activePlayers[activePlayers.IndexOf(dealer) + 1];
            }


            StartCoroutine(PlayGame()); // start the first round
            return;
        }

        //if no player has money left, open cards and declare the winner
        int totalSum = 0;

        for (int i = 0; i < activePlayers.Count; i++)
        {
            totalSum += activePlayers[i].totalAmount;
        }
        if (totalSum == 0)
        {
            foreach (PokerPlayer p in activePlayers)
            {
                foreach (CardPokerFace c in p.cards)
                {
                    if (!c.faceUp)
                    {
                        c.Flip();
                    }
                }
            }
            InitDeclareWinner();
            return;
        }

        // if this is NOT the first round

        int openCardsCounter = 0;

        // count the amount of open cards
        for (int i = 0; i < activePlayers[0].cards.Count; i++)
        {
            if (activePlayers[0].cards[i].faceUp)
            {
                openCardsCounter++;
            }
        }

        //if there are less than 4 open cards (not last round)
        if (openCardsCounter < 4)
        {
            if (currentPlayer == lastPlayerToSpeak)
            {
                //if the final player raised, change the final player and resume round
                if (lastPlayerToSpeak.command is RaiseCommand)
                {
                    SetLastPlayerToSpeakToPlayerOnHisRight();

                    //set the new current player
                    SetCurrentPlayerToPlayerOnHisLeft();

                    StartCoroutine(PlayGame());
                    return;
                }
                //if the final player folded
                else if (lastPlayerToSpeak.command is FoldCommand)
                {
                    //SetLastPlayerToSpeakToPlayerOnHisRight();
                    UIManager.S.PlayCollectBetsAnimation(lastPlayerToSpeak);
                    if (lastPlayerToSpeak == finalPlayer)
                    {
                        SetFinalPlayerToPlayerOnHisRight();
                    }
                    lastPlayerToSpeak = finalPlayer;

                    //remove the old current player from the active list
                    RemoveFromActivePlayers(currentPlayer);
                    RemovePokerHand(currentPlayer);

                    //set the new current player
                    currentPlayer = GetPlayerLeftOfFinalPlayer();
                }
                //if the final player didnt raise or fold
                else
                {
                    //set the new current player
                    currentPlayer = GetPlayerLeftOfFinalPlayer();
                }
                InitReveal1(); //last player to speak finished his turn, time to reveal 1 card
                return;
            }
            else //if the current player is not the last player to speak
            {
                //if the final player raised, change the final player and resume round
                if (currentPlayer.command is RaiseCommand)
                {
                    //set the last player to speak to the player on the right of the currentPlayer... complicated
                    if (activePlayers.IndexOf(currentPlayer) == 0)
                    {
                        lastPlayerToSpeak = activePlayers[activePlayers.Count - 1];
                    }
                    else
                    {
                        lastPlayerToSpeak = activePlayers[activePlayers.IndexOf(currentPlayer) - 1];
                    }

                    //set the new current player
                    SetCurrentPlayerToPlayerOnHisLeft();

                    StartCoroutine(PlayGame());
                    return;
                }
                //if the final player folded
                else if (currentPlayer.command is FoldCommand)
                {
                    PokerPlayer oldPlayer = currentPlayer; // reference to current player (who folded)
                    if (currentPlayer == finalPlayer)
                    {
                        SetFinalPlayerToPlayerOnHisRight();
                    }
                    //set the new current player
                    SetCurrentPlayerToPlayerOnHisLeft();

                    //remove the old current player from the active list
                    RemoveFromActivePlayers(oldPlayer);
                    RemovePokerHand(oldPlayer);
                    StartCoroutine(PlayGame());
                    return;
                }
                //if the current player didnt raise or fold
                else
                {
                    //set the new current player
                    SetCurrentPlayerToPlayerOnHisLeft();
                    StartCoroutine(PlayGame());
                    return;
                }
            }
        }
        //if this is the last round
        else //if there are 4 cards revealed
        {
            if (currentPlayer == lastPlayerToSpeak)
            {
                //if the final player raised, change the final player and resume round
                if (lastPlayerToSpeak.command is RaiseCommand)
                {
                    SetLastPlayerToSpeakToPlayerOnHisRight();

                    //set the new current player
                    SetCurrentPlayerToPlayerOnHisLeft();
                    StartCoroutine(PlayGame());
                    return;
                }
                //if the last player to speak folded
                else if (lastPlayerToSpeak.command is FoldCommand)
                {
                    UIManager.S.PlayCollectBetsAnimation(lastPlayerToSpeak);

                    if (lastPlayerToSpeak == finalPlayer)
                    {
                        SetFinalPlayerToPlayerOnHisRight();
                    }

                    lastPlayerToSpeak = finalPlayer;

                    //remove the old current player from the active list
                    RemoveFromActivePlayers(currentPlayer);
                    RemovePokerHand(currentPlayer);

                    //set the new current player
                    currentPlayer = GetPlayerLeftOfFinalPlayer();
                }
                foreach (PokerPlayer p in activePlayers)
                {
                    foreach (CardPokerFace c in p.cards)
                    {
                        if (!c.faceUp)
                        {
                            c.Flip();
                        }
                    }
                }
                InitDeclareWinner();//final player finished his turn, time to see who won
                return;
            }
            else //if the current player is not the last player to speak
            {
                //if the current player raised, change the final player and resume round
                if (currentPlayer.command is RaiseCommand)
                {
                    //set the last player to speak to the player on the right of the currentPlayer... complicated
                    if (activePlayers.IndexOf(currentPlayer) == 0)
                    {
                        lastPlayerToSpeak = activePlayers[activePlayers.Count - 1];
                    }
                    else
                    {
                        lastPlayerToSpeak = activePlayers[activePlayers.IndexOf(currentPlayer) - 1];
                    }

                    //set the new current player
                    SetCurrentPlayerToPlayerOnHisLeft();

                    StartCoroutine(PlayGame());
                    return;
                }
                else if (currentPlayer.command is FoldCommand)
                {
                    PokerPlayer oldPlayer = currentPlayer; // reference to current player (who folded)

                    //set the new current player
                    SetCurrentPlayerToPlayerOnHisLeft();

                    if (currentPlayer == finalPlayer)
                    {
                        SetFinalPlayerToPlayerOnHisRight();
                    }

                    //remove the old current player from the active list
                    RemoveFromActivePlayers(oldPlayer);
                    RemovePokerHand(oldPlayer);
                    StartCoroutine(PlayGame());
                    return;
                }
                else
                {
                    //set the new current player
                    SetCurrentPlayerToPlayerOnHisLeft();
                    StartCoroutine(PlayGame());
                    return;
                }
            }
        }
    }
Example #51
0
 public void Fold(PokerPlayer player)
 {
     playersIn.Remove(player);
 }
Example #52
0
 public int Register(PokerPlayer p)
 {
     AllPlayers.Add(p);
     PlayerTabsManager.player_tabs_manager.AssignLocations();
     return(AllPlayers.Count - 1);
 }
Example #53
0
 public int Raise(PokerPlayer player, int raiseBy)
 {
     FModManager.StartEvent(FModLies.EVENTID_LIES_ACTIONS_POKER_DEALING);
     int chipsNeeded = GetCallCost(player) + raiseBy;
     bets[player] = GetHighestBet() + raiseBy;
     previousRaiser = player;
     return chipsNeeded;
 }
 public void Constructor_SetsProperties()
 {
     PokerPlayer player = new PokerPlayer("RobA2345");
     Assert.AreEqual("RobA2345", player.Handle);
     Assert.AreEqual("RobA2345", player.ToString());
 }
Example #55
0
        public void Test_Jen_Wins()
        {
            //arrange
            PokerPlayer Joe = new PokerPlayer("Joe");
            PokerPlayer Bob = new PokerPlayer("Bob");
            PokerPlayer Jen = new PokerPlayer("Jen");

            //Joe
            Card threeH = new Card();

            threeH.Rank = Rank.Three;
            threeH.Suit = Suit.Heart;

            Card fiveD = new Card();

            fiveD.Rank = Rank.Five;
            fiveD.Suit = Suit.Diamond;

            Card queenH = new Card();

            queenH.Rank = Rank.Queen;
            queenH.Suit = Suit.Heart;

            Card nineC = new Card();

            nineC.Rank = Rank.Nine;
            nineC.Suit = Suit.Club;

            Card nineD = new Card();

            nineD.Rank = Rank.Nine;
            nineD.Suit = Suit.Diamond;

            //Bob card
            Card twoH = new Card();

            twoH.Rank = Rank.Two;
            twoH.Suit = Suit.Heart;

            Card twoC = new Card();

            twoC.Rank = Rank.Two;
            twoC.Suit = Suit.Club;

            Card tenC = new Card();

            tenC.Rank = Rank.Ten;
            tenC.Suit = Suit.Club;

            Card aceH = new Card();

            aceH.Rank = Rank.Ace;
            aceH.Suit = Suit.Heart;

            Card fiveS = new Card();

            fiveS.Rank = Rank.Five;
            fiveS.Suit = Suit.Spade;

            //Jen card
            Card fiveC = new Card();

            fiveC.Rank = Rank.Five;
            fiveC.Suit = Suit.Club;

            Card sevenD = new Card();

            sevenD.Rank = Rank.Seven;
            sevenD.Suit = Suit.Diamond;

            Card nineH = new Card();

            nineH.Rank = Rank.Nine;
            nineH.Suit = Suit.Heart;

            Card nineS = new Card();

            nineS.Rank = Rank.Nine;
            nineS.Suit = Suit.Spade;

            Card queenS = new Card();

            queenS.Rank = Rank.Queen;
            queenS.Suit = Suit.Spade;

            //Collection<Card> cards = new Collection<Card>();
            Joe.ReceiveCard(threeH);
            Joe.ReceiveCard(fiveD);
            Joe.ReceiveCard(nineC);
            Joe.ReceiveCard(nineD);
            Joe.ReceiveCard(queenH);

            Bob.ReceiveCard(twoH);
            Bob.ReceiveCard(twoC);
            Bob.ReceiveCard(fiveS);
            Bob.ReceiveCard(tenC);
            Bob.ReceiveCard(aceH);

            Jen.ReceiveCard(fiveC);
            Jen.ReceiveCard(sevenD);
            Jen.ReceiveCard(nineH);
            Jen.ReceiveCard(nineS);
            Jen.ReceiveCard(queenS);

            Collection <PokerPlayer> players = new Collection <PokerPlayer>();

            players.Add(Bob);
            players.Add(Joe);
            players.Add(Jen);

            //act
            Game game    = new Game(players, Round.ShowDown);
            var  winners = game.Run();

            foreach (var player in players)
            {
                player.ShowCard();
            }

            PokerPlayer winner = new PokerPlayer("winner");

            foreach (var player in winners)
            {
                winner = player;
                Console.WriteLine("player {0} has {1} set of cards has value of {2}", player.name, player.hand, player.CardTotal);
            }

            //assert
            Assert.AreEqual(Jen.name, winner.name);
        }
Example #56
0
        public void Test_Joe_Wins()
        {
            //arrange
            //Deck baraha = new Deck();
            //Dealer john = new Dealer();
            //john.Shuffle(baraha.Cards);
            PokerPlayer Joe   = new PokerPlayer("Joe");
            PokerPlayer Bob   = new PokerPlayer("Bob");
            PokerPlayer Sally = new PokerPlayer("Sally");

            //Joe
            Card eightS = new Card();

            eightS.Rank = Rank.Eight;
            eightS.Suit = Suit.Spade;

            Card aceD = new Card();

            aceD.Rank = Rank.Ace;
            aceD.Suit = Suit.Diamond;

            Card queenD = new Card();

            queenD.Rank = Rank.Queen;
            queenD.Suit = Suit.Diamond;

            Card eightD = new Card();

            eightD.Rank = Rank.Eight;
            eightD.Suit = Suit.Diamond;

            Card jackH = new Card();

            jackH.Rank = Rank.Jack;
            jackH.Suit = Suit.Heart;

            //Bob card
            Card aceS = new Card();

            aceS.Rank = Rank.Ace;
            aceS.Suit = Suit.Spade;

            Card queenS = new Card();

            queenS.Rank = Rank.Queen;
            queenS.Suit = Suit.Spade;

            Card sixS = new Card();

            sixS.Rank = Rank.Six;
            sixS.Suit = Suit.Spade;

            Card eightH = new Card();

            eightH.Rank = Rank.Eight;
            eightH.Suit = Suit.Heart;

            Card fourC = new Card();

            fourC.Rank = Rank.Four;
            fourC.Suit = Suit.Club;

            //Sally card
            Card threeH = new Card();

            threeH.Rank = Rank.Three;
            threeH.Suit = Suit.Heart;

            Card queenC = new Card();

            queenC.Rank = Rank.Queen;
            queenC.Suit = Suit.Club;

            Card fourS = new Card();

            fourS.Rank = Rank.Four;
            fourS.Suit = Suit.Spade;

            Card eightC = new Card();

            eightC.Rank = Rank.Eight;
            eightC.Suit = Suit.Club;

            Card fourH = new Card();

            fourH.Rank = Rank.Four;
            fourH.Suit = Suit.Heart;

            //Collection<Card> cards = new Collection<Card>();
            Joe.ReceiveCard(aceD);
            Joe.ReceiveCard(eightS);
            Joe.ReceiveCard(jackH);
            Joe.ReceiveCard(eightD);
            Joe.ReceiveCard(queenD);

            Bob.ReceiveCard(aceS);
            Bob.ReceiveCard(eightH);
            Bob.ReceiveCard(sixS);
            Bob.ReceiveCard(fourC);
            Bob.ReceiveCard(queenS);

            Sally.ReceiveCard(threeH);
            Sally.ReceiveCard(eightC);
            Sally.ReceiveCard(queenC);
            Sally.ReceiveCard(fourH);
            Sally.ReceiveCard(fourS);

            Collection <PokerPlayer> players = new Collection <PokerPlayer>();

            players.Add(Bob);
            players.Add(Joe);
            players.Add(Sally);

            //act
            Game game    = new Game(players, Round.ShowDown);
            var  winners = game.Run();

            foreach (var player in players)
            {
                player.ShowCard();
            }

            PokerPlayer winner = new PokerPlayer("winner");

            Console.WriteLine("we have {0} winner/s", winners.Count);
            foreach (var player in winners)
            {
                winner = player;
                Console.WriteLine("player {0} has {1} set of cards has value of {2}", player.name, player.hand, player.CardTotal);
            }

            //assert
            Assert.AreEqual(Joe.name, winner.name);
        }
Example #57
0
 public int GetCallCost(PokerPlayer player)
 {
     return GetHighestBet() - (int)bets[player];
 }