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"); }
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); }
/// <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(); }
/// <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(); }