Beispiel #1
0
        public override void PlayerDecisionFlop()
        {
            do
            {
                Console.SetCursorPosition(0, DrawCards.DiscardingSpace);
                Console.WriteLine("What card to discard?");
                int toDiscard = int.Parse(Console.ReadLine());
                if (toDiscard <= _player1.Hand.Count && toDiscard >= 1)
                {
                    _player1.Hand.Remove(_player1.Hand.Take(toDiscard).Last());
                }
                //
                // 11
                Console.SetCursorPosition(0, 1);
                for (int i = 0; i < 12; i++)
                {
                    for (int j = 0; j < 50; j++)
                    {
                        Console.Write(' ');
                    }
                    Console.WriteLine();
                }
                DrawCards.DisplayCards(_player1.Hand, 1);
            } while (_player1.Hand.Count != 2);

            Console.SetCursorPosition(0, DrawCards.DiscardingSpace);
            Console.WriteLine("                         \n              \n");
        }
Beispiel #2
0
        protected override bool Flop()
        {
            _table.Add(_deck.Pop());
            _table.Add(_deck.Pop());
            _table.Add(_deck.Pop());
            DrawCards.DisplayCards(_table, 2);
            decision player1Decision = _player1.PerformAction();

            switch (player1Decision)
            {
            case decision.Fold:
                Console.WriteLine("Player 2 wins!\n\n\n\n");
                _player2.WinBank(_bank);

                return(false);

            case decision.Call:
                _player1.MakeBet(_biggestBet);
                _bank += _biggestBet;
                break;

            case decision.Raise:
                _biggestBet += _smallBlind;
                _player1.MakeBet(_biggestBet);
                _bank += _biggestBet;
                break;

            default:
                break;
            }


            decision player2Decision = _player2.PerformAction();

            switch (player2Decision)
            {
            case decision.Fold:
                Console.WriteLine("Player 1 wins!\n\n\n\n");
                _player1.WinBank(_bank);
                _bank = 0;
                return(false);

            case decision.Call:
                _player2.MakeBet(_biggestBet);
                _bank += _biggestBet;
                break;

            case decision.Raise:
                _biggestBet += _smallBlind;
                _player2.MakeBet(_biggestBet);
                _bank += _biggestBet;
                break;

            default:
                break;
            }
            Console.WriteLine(" Biggest Bet:{0}        ", _biggestBet);
            return(true);
        }
Beispiel #3
0
        /// <summary>
        /// Executes the Preflop part of poker gaeme.
        /// </summary>
        protected virtual void Preflop()
        {
            Console.Clear();
            Console.WriteLine("PlayerNand:");
            DrawCards.DisplayCards(_player1.Hand, 1);

            DisplayBanks();

            // Set blinds
            Console.SetCursorPosition(0, DrawCards.SmallBlindSpace);
            Console.Write("Your small blind: ");
            _smallBlind = uint.Parse(Console.ReadLine());
            _biggestBet = 2 * _smallBlind;
            _player1.MakeBet(_smallBlind);
            _player2.MakeBet(_biggestBet);
            _bank += _smallBlind + _biggestBet;
            DisplayBanks();
        }
Beispiel #4
0
        /// <summary>
        /// Runs the algorythm of showdown of poker game.
        /// </summary>
        protected void Showdown()
        {
            foreach (Card card in _table)
            {
                _player1.Hand.Add(card);
                _player2.Hand.Add(card);
            }
            DrawCards.DisplayCards(_player1.Hand, 1);
            Console.SetCursorPosition(0, 14);
            Console.WriteLine("COMPUTER'S HAND");
            DrawCards.DisplayCards(_player2.Hand, 2);

            // processing the hands
            HandValue p1Hand = _firstChecker.CheckCombination(_player1.Hand);
            HandValue p2Hand = _firstChecker.CheckCombination(_player2.Hand);



            DisplayBanks();
            Console.SetCursorPosition(0, 36);
            if (p1Hand > p2Hand)
            {
                Console.WriteLine("Player1 wins");
                Console.WriteLine("Player1 Combination: {0}", p1Hand.Combination);
                Console.WriteLine("Player2 Combination: {0}", p2Hand.Combination);
                _player1.WinBank(_bank);
            }
            else
            {
                Console.WriteLine("Player2 wins");
                Console.WriteLine("Player1 Combination: {0}", p1Hand.Combination);
                Console.WriteLine("Player2 Combination: {0}", p2Hand.Combination);
                _player2.WinBank(_bank);
            }
            _bank = 0;
            DisplayBanks();
        }