Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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();
            }
        }