Exemple #1
0
 /// <summary>
 /// Seats the player.
 /// </summary>
 /// <param name="player">The player.</param>
 /// <param name="buyIn">The buy in.</param>
 public void SeatPlayer(PokerPlayer player, decimal buyIn)
 {
     Player = player;
     ChipCount = buyIn;
 }
Exemple #2
0
 /// <summary>
 /// Called when [player added].
 /// </summary>
 /// <param name="player">The player.</param>
 private void OnPlayerAdded(PokerPlayer player)
 {
     PlayerAddedHandler handler = PlayerAdded;
     if (handler != null)
         PlayerAdded(this, new PlayerJoinEventArgs(player));
 }
Exemple #3
0
 /// <summary>
 /// Called when [player removed].
 /// </summary>
 /// <param name="player">The player.</param>
 private void OnPlayerRemoved(PokerPlayer player)
 {
     PlayerRemovedHandler handler = PlayerRemoved;
     if (handler != null)
         PlayerRemoved(this, new PlayerLeaveEventArgs(player));
 }
Exemple #4
0
        static void Main(string[] args)
        {
            Game game = new Game();
            HandEvaluatorWrapper handEvaluator = new HandEvaluatorWrapper();
            Dealer dealer = new Dealer(game, new Deck());
            PokerPlayer rob = new PokerPlayer("RobA2345");
            PokerPlayer dave = new PokerPlayer("mintaspiss");

            dealer.ShuffleDeck();
            dealer.Deal(rob);
            dealer.Deal(dave);
            dealer.Deal(rob);
            dealer.Deal(dave);

            string robsHand = rob.ShowHand().Aggregate(string.Empty, (current, card) => current + " " + card.ToString("s"));
            string davesHand = dave.ShowHand().Aggregate(string.Empty, (current, card) => current + " " + card.ToString("s"));
            Console.WriteLine(string.Format("{0} holds {1}", rob, robsHand));
            Console.WriteLine(string.Format("{0} holds {1}", dave, davesHand));

            Console.WriteLine("Dealing Flop...");
            dealer.DealFlop(game);

            string boardCards = game.CommunityCards.Aggregate(
                string.Empty, (current, card) => current + " " + card.ToString("s"));

            Console.WriteLine(boardCards);

            Console.WriteLine("Dealing Turn...");
            dealer.DealTurn(game);

            boardCards = game.CommunityCards.Aggregate(
                string.Empty, (current, card) => current + " " + card.ToString("s"));

            Console.WriteLine(boardCards);

            Console.WriteLine("Dealing River...");
            dealer.DealRiver(game);

            boardCards = game.CommunityCards.Aggregate(
                string.Empty, (current, card) => current + " " + card.ToString("s"));

            Console.WriteLine(boardCards);

            string robsHandDescription = handEvaluator.GetHandDescription(rob.ShowHand(), game.CommunityCards);
            string davesHandDescription = handEvaluator.GetHandDescription(dave.ShowHand(), game.CommunityCards);
            uint robsHandValue = handEvaluator.EvaluateHandValue(rob.ShowHand(), game.CommunityCards);
            uint davesHandValue = handEvaluator.EvaluateHandValue(dave.ShowHand(), game.CommunityCards);

            Console.WriteLine(string.Format("{0} shows {1}", dave, davesHandDescription));
            Console.WriteLine(string.Format("{0} shows {1}", rob, robsHandDescription));

            string result;
            if (robsHandValue == davesHandValue)
                result = "Pot is split";
            else
            {
                result = robsHandValue > davesHandValue
                    ? string.Format("{0} wins with {1}", rob, robsHandDescription)
                    : string.Format("{0} wins wth {1}", dave, davesHandDescription);
            }

            Console.WriteLine(result);

            Console.Read();
        }
Exemple #5
0
        /// <summary>
        /// Adds the player to game.
        /// </summary>
        /// <param name="player">The player.</param>
        /// <param name="seatNumber">The seat number.</param>
        /// <param name="buyIn">The buy in.</param>
        /// <returns>
        /// True if player was added to the seat successfully.
        /// </returns>
        public bool AddPlayerToGame(PokerPlayer player, int seatNumber, decimal buyIn)
        {
            seatNumber = seatNumber - 1;

            if (seatNumber < 0 || seatNumber > 8)
                return false;

            if (buyIn <= _minmiumBuyIn || buyIn >= _maximumBuyIn)
                return false;

            Seat requestedSeat = _playerSeats.Single(seat => seat.SeatNumber == seatNumber);
            if (!requestedSeat.IsOccupied)
            {
                requestedSeat.SeatPlayer(player, buyIn);
                OnPlayerAdded(player);
                return true;
            }
            return false;
        }
Exemple #6
0
 public void Deal(PokerPlayer player)
 {
     player.ReceiveCard(_deck.Pop());
 }
Exemple #7
0
 public void CollectCards(PokerPlayer player)
 {
     IEnumerable<Card> returnedCards = player.ReturnCards();
     foreach (Card card in returnedCards)
         _deck.Push(card);
 }
 public PlayerJoinEventArgs(PokerPlayer player )
 {
     Player = player;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="InactiveState"/> class.
 /// </summary>
 /// <param name="player">The player.</param>
 public InactiveState(PokerPlayer player)
 {
     Player = player;
 }
 public PlayerLeaveEventArgs(PokerPlayer player)
 {
     Player = player;
 }