private PlayerAction Call(PokerPlayer player) { long totalChips; if (player.Chips < raiseSize) { totalChips = player.Chips; AddToPot(player, totalChips); LogLine($"Not enough money, calling to {player.Chips} instead"); } else { totalChips = raiseSize - player.BetValue; AddToPot(player, totalChips); } LogLine(player.ToString() + " called"); return(player.Call(totalChips)); }
public HoldemGame(Tables AssignedTable, double buyin = 2.0, Patron p = null) { this.table = AssignedTable; this.dealer = null; this.minBet = buyin; r = new Random(); bb = 20; sb = bb / 2; Hands = 1; st = new Queue(new Deck(4).ReturnDeck()); playerGroup = new List <CardPlayer>(); this.pendingPlayers = new BlockingCollection <CardPlayer>(); logID = Guid.NewGuid().ToString(); Logs.RegisterNewTrace(logID, null, "poker"); Type = CardGameType.POKER; int totalPlayersToAdd = this.table.PlayerLimit(); commands = new ConcurrentQueue <string>(); Logs.LogTrace("log GUID : " + logID, logID); Logs.LogTrace($"T: {Thread.CurrentThread.ManagedThreadId} New blackjack game started", logID); int forInt = 0; if (p != null) { var newPlayer = new PokerPlayer(p); playerGroup.Add(newPlayer); positions.Add(0, newPlayer); betPool.Add(newPlayer, 0); outputToConsole = true; forInt++; } for (int i = forInt; i < totalPlayersToAdd; i++) { var newPlayer = new PokerPlayer("123 fake st", new DateTime(1980, 1, 1), 'M'); playerGroup.Add(newPlayer); positions.Add(i, newPlayer); betPool.Add(newPlayer, 0); } button = 0; }
private PlayerAction Raise(PokerPlayer player, long chips) { long totalChips = 0; if (player.Chips < chips) { raiseSize += player.Chips; AddToPot(player, raiseSize); LogLine($"Not enough chips to raise {chips}, raising up to {raiseSize} instead"); } else { totalChips = raiseSize - player.BetValue + chips; raiseSize += chips; AddToPot(player, totalChips); } LogLine($"Raised to {raiseSize}"); return(player.Raise(raiseSize)); }
public override void StartGame() { this.run = true; Console.WriteLine($"Game started - {ID}"); while (pendingPlayers.Count > 0) { var newPlayer = new PokerPlayer(pendingPlayers.Take()); playerGroup.Add(newPlayer); positions.Add(positions.Count - 1, newPlayer); betPool.Add(newPlayer, 0); } while (run) { Hands++; Main(); } Console.WriteLine($"game ended: {logID}"); }
public AIPotentialCardValues(List <Card> cards, PokerPlayer player) { this.cards = cards; this.player = player; Evaluate(); }
private PlayerAction Fold(PokerPlayer player) { LogLine(player.ToString() + " folded"); return(player.Fold()); }