public static Player GeneratePlayer( Card deadCards = Card.None, Position deadPosition = Position.None, double stack = -1d, bool?isToPlay = null, bool?isHero = null) { var random = new Random(); var cards = BoardGenerator.GenerateHand(deadCards); var position = GeneratePosition(deadPosition); stack = (stack == -1d) ? GenerateStack() : stack; isToPlay = isToPlay.HasValue ? isToPlay : Convert.ToBoolean(random.Next(0, 2)); isHero = isHero.HasValue ? isHero : Convert.ToBoolean(random.Next(0, 2)); var player = new Player(cards, position, stack, isToPlay.Value, isHero.Value); return(player); }
public static GameState GenerateState() { var street = GenerateStreet(); var hero = GeneratePlayer(isHero: true, isToPlay: true); var villain = GeneratePlayer( deadCards: hero.HoleCards, deadPosition: hero.Position, isToPlay: false, isHero: false); var board = BoardGenerator.GenerateFlop(hero.HoleCards | villain.HoleCards); board |= BoardGenerator.FillFromTo(board, Street.Flop, street); var action = GenerateAction(); var pot = action.IsPassive() ? 1.5d : 2.25d; var wagerToCall = action.IsPassive() ? 0.0d : 0.75d; return(StateFactory.CreateStartState( board, street, hero, villain, pot, wagerToCall, action)); }