static GameState GetStartState(bool isDeterministic) { if (!isDeterministic) { return(StateGenerator.GenerateState()); } var heroHand = isDeterministic ? Card.d6 | Card.d5 : BoardGenerator.GenerateHand(); var villainHand = Card.None; var flop = isDeterministic ? Card.c3 | Card.d4 | Card.c9 : BoardGenerator.GenerateFlop(heroHand | villainHand); var hero = new Player(heroHand, Position.SB, 99.5, true, true); var villain = new Player(villainHand, Position.BB, 98.25, false); var state = StateFactory.CreateStartState( flop, Street.Flop, hero, villain, 2.25, 0.75d, Action.Bet50); return(state); }
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)); }