public Dictionary <Tuple <SuitEnum, SuitEnum>, bool> ShouldAGridFoldToBoardBySuit(RangeGrid grid, RiverBoard riverBoard, HoldingHoles heroHoles) { var conflictCards = new List <Card>() { heroHoles.Hole1, heroHoles.Hole2, riverBoard.River, riverBoard.TurnBoard.TurnCard, riverBoard.TurnBoard.FlopBoard.Flop1, riverBoard.TurnBoard.FlopBoard.Flop2, riverBoard.TurnBoard.FlopBoard.Flop3 }; grid.EliminateConflicts(conflictCards); switch (riverBoard.SuitTexture) { case RiverSuitTextureEnum.FiveSuited: return(new SuitedFiveTexture(riverBoard).ShouldAGridFoldToBet(grid)); case RiverSuitTextureEnum.FourSuited: return(new SuitedFourTexture(riverBoard).ShouldAGridFoldToBet(grid)); case RiverSuitTextureEnum.ThreeSuited: return(new SuitedThreeTexture(riverBoard).ShouldAGridFoldToBet(grid)); case RiverSuitTextureEnum.Offsuit: return(new OffsuitTexture().ShouldAGridFoldToBet(grid)); } throw new InvalidOperationException(); }
public Dictionary <Tuple <SuitEnum, SuitEnum>, bool> ShouldAGridFoldToBoardBySuit(RangeGrid grid, TurnBoard turnBoard, HoldingHoles heroHoles) { var conflictCards = new List <Card>() { heroHoles.Hole1, heroHoles.Hole2, turnBoard.TurnCard, turnBoard.FlopBoard.Flop2, turnBoard.FlopBoard.Flop3 }; grid.EliminateConflicts(conflictCards); switch (turnBoard.SuitTexture) { case TurnBoardSuitTextureEnum.SuitedFour: return(new SuitedFourTexture(turnBoard).ShouldAGridFoldToBet(grid)); case TurnBoardSuitTextureEnum.SuitedThree: return(new SuitedThreeTexture(turnBoard).ShouldAGridFoldToBet(grid)); case TurnBoardSuitTextureEnum.SuitedTwoPairs: return(new SuitedTwoPairsTexture(turnBoard).ShouldAGridFoldToBet(grid)); case TurnBoardSuitTextureEnum.SuitedTwo: return(new SuitedTwoTexture(turnBoard).ShouldAGridFoldToBet(grid)); case TurnBoardSuitTextureEnum.Offsuit: return(new OffsuitTexture(turnBoard).ShouldAGridFoldToBet(grid)); } throw new NotImplementedException(); }
public Dictionary <Tuple <SuitEnum, SuitEnum>, bool> ShouldAGridFoldToBoardBySuit(RangeGrid grid, FlopBoard flopBoard, HoldingHoles heroHoles) { var conflictCards = new List <Card>() { heroHoles.Hole1, heroHoles.Hole2, flopBoard.Flop1, flopBoard.Flop2, flopBoard.Flop3 }; grid.EliminateConflicts(conflictCards); switch (flopBoard.SuitTexture) { case FlopBoardSuitTextureEnum.SuitedThree: return(new SuitedThreeSuitTexture(flopBoard).ShouldAGridFoldToBet(grid)); case FlopBoardSuitTextureEnum.SuitedTwo: return(new SuitedTwoSuitTexture(flopBoard).ShouldAGridFoldToBet(grid)); case FlopBoardSuitTextureEnum.Rainbow: return(new RainbowSuitTexture().ShouldAGridFoldToBet(grid)); default: throw new InvalidOperationException(); } }