public HighTriLowPairRankTexture(RiverBoard board) { TurnBoard = board.TurnBoard; switch (TurnBoard.RankTexture) { case TurnBoardRankTextureEnum.HighTri: var highTriTexture = new Turn.TurnBoardRankTextures.HighTriRankTexture(TurnBoard); TriCard1 = highTriTexture.TriCard1; TriCard2 = highTriTexture.TriCard2; TriCard3 = highTriTexture.TriCard3; if (highTriTexture.SingleCard.Rank != board.River.Rank) { throw new InvalidOperationException(); } PairCard1 = highTriTexture.SingleCard; PairCard2 = board.River; break; case TurnBoardRankTextureEnum.TwoPairs: var twoPairsTexture = new TwoPairsRankTexture(TurnBoard); if (twoPairsTexture.HighPairCard1.Rank != board.River.Rank) { throw new InvalidOperationException(); } TriCard1 = twoPairsTexture.HighPairCard1; TriCard2 = twoPairsTexture.HighPairCard2; TriCard3 = board.River; PairCard1 = twoPairsTexture.LowPairCard1; PairCard2 = twoPairsTexture.LowPairCard2; break; default: throw new InvalidOperationException(); } }
public HighLowTwoPairsRankTexture(RiverBoard board) { TurnBoard = board.TurnBoard; switch (TurnBoard.RankTexture) { case TurnBoardRankTextureEnum.HighPair: var highPairTexture = new Turn.TurnBoardRankTextures.HighPairRankTexture(TurnBoard); if (board.River.Rank != highPairTexture.LowCard.Rank) { throw new InvalidOperationException(); } HighPairCard1 = highPairTexture.PairCard1; HighPairCard2 = highPairTexture.PairCard2; MiddleCard = highPairTexture.MiddleCard; LowPairCard1 = highPairTexture.LowCard; LowPairCard2 = board.River; break; case TurnBoardRankTextureEnum.LowPair: var lowPairTexture = new Turn.TurnBoardRankTextures.LowPairRankTexture(TurnBoard); if (board.River.Rank != lowPairTexture.HighCard.Rank) { throw new InvalidOperationException(); } HighPairCard1 = lowPairTexture.HighCard; HighPairCard2 = board.River; MiddleCard = lowPairTexture.MiddleCard; LowPairCard1 = lowPairTexture.PairCard1; LowPairCard2 = lowPairTexture.PairCard2; break; case TurnBoardRankTextureEnum.TwoPairs: var twoPairsTexture = new TwoPairsRankTexture(TurnBoard); if (board.River.Rank >= twoPairsTexture.HighPairCard1.Rank || board.River.Rank <= twoPairsTexture.LowPairCard1.Rank) { throw new InvalidOperationException(); } HighPairCard1 = twoPairsTexture.HighPairCard1; HighPairCard2 = twoPairsTexture.HighPairCard2; MiddleCard = board.River; LowPairCard1 = twoPairsTexture.LowPairCard1; LowPairCard2 = twoPairsTexture.LowPairCard2; break; default: throw new InvalidOperationException(); } }
private void SetupRankTexture() { switch (TurnBoard.RankTexture) { case TurnBoardRankTextureEnum.Foursome: RankTexture = RiverRankTextureEnum.Foursome; break; case TurnBoardRankTextureEnum.HighTri: var highTri = new HighTriRankTexture(TurnBoard); if (River.Rank == highTri.TriCard1.Rank) { RankTexture = RiverRankTextureEnum.Foursome; } else if (River.Rank == highTri.SingleCard.Rank) { RankTexture = RiverRankTextureEnum.HighTriLowPair; } else if (River.Rank > highTri.TriCard1.Rank) { RankTexture = RiverRankTextureEnum.MiddleTri; } else { RankTexture = RiverRankTextureEnum.HighTri; } break; case TurnBoardRankTextureEnum.LowTri: var lowTri = new LowTriRankTexture(TurnBoard); if (River.Rank == lowTri.TriCard1.Rank) { RankTexture = RiverRankTextureEnum.Foursome; } else if (River.Rank == lowTri.SingleCard.Rank) { RankTexture = RiverRankTextureEnum.LowTriHighPair; } else if (River.Rank > lowTri.TriCard1.Rank) { RankTexture = RiverRankTextureEnum.LowTri; } else { RankTexture = RiverRankTextureEnum.MiddleTri; } break; case TurnBoardRankTextureEnum.TwoPairs: var twoPairs = new TwoPairsRankTexture(TurnBoard); if (River.Rank == twoPairs.HighPairCard1.Rank) { RankTexture = RiverRankTextureEnum.HighTriLowPair; } else if (River.Rank == twoPairs.LowPairCard1.Rank) { RankTexture = RiverRankTextureEnum.LowTriHighPair; } else if (River.Rank > twoPairs.HighPairCard1.Rank) { RankTexture = RiverRankTextureEnum.LowTwoPairs; } else if (River.Rank > twoPairs.LowPairCard1.Rank) { RankTexture = RiverRankTextureEnum.HighLowTwoPairs; } else { RankTexture = RiverRankTextureEnum.HighTwoPairs; } break; case TurnBoardRankTextureEnum.HighPair: var highPair = new HighPairRankTexture(TurnBoard); if (River.Rank == highPair.PairCard1.Rank) { RankTexture = RiverRankTextureEnum.HighTri; } else if (River.Rank == highPair.MiddleCard.Rank) { RankTexture = RiverRankTextureEnum.HighTwoPairs; } else if (River.Rank == highPair.LowCard.Rank) { RankTexture = RiverRankTextureEnum.HighLowTwoPairs; } else if (River.Rank > highPair.PairCard1.Rank) { RankTexture = RiverRankTextureEnum.SecondPair; } else { RankTexture = RiverRankTextureEnum.HighPair; } break; case TurnBoardRankTextureEnum.MiddlePair: var middlePair = new MiddlePairRankTexture(TurnBoard); if (River.Rank == middlePair.PairCard1.Rank) { RankTexture = RiverRankTextureEnum.MiddleTri; } else if (River.Rank == middlePair.HighCard.Rank) { RankTexture = RiverRankTextureEnum.HighTwoPairs; } else if (River.Rank == middlePair.LowCard.Rank) { RankTexture = RiverRankTextureEnum.LowTwoPairs; } else if (River.Rank > middlePair.PairCard1.Rank) { RankTexture = RiverRankTextureEnum.ThirdPair; } else { RankTexture = RiverRankTextureEnum.SecondPair; } break; case TurnBoardRankTextureEnum.LowPair: var lowPair = new LowPairRankTexture(TurnBoard); if (River.Rank == lowPair.PairCard1.Rank) { RankTexture = RiverRankTextureEnum.LowTri; } else if (River.Rank == lowPair.HighCard.Rank) { RankTexture = RiverRankTextureEnum.HighLowTwoPairs; } else if (River.Rank == lowPair.MiddleCard.Rank) { RankTexture = RiverRankTextureEnum.LowTwoPairs; } else if (River.Rank > lowPair.PairCard1.Rank) { RankTexture = RiverRankTextureEnum.LowPair; } else { RankTexture = RiverRankTextureEnum.ThirdPair; } break; case TurnBoardRankTextureEnum.Singles: var singles = new SinglesRankTexture(TurnBoard); if (River.Rank == singles.HighCard.Rank) { RankTexture = RiverRankTextureEnum.HighPair; } else if (River.Rank == singles.SecondCard.Rank) { RankTexture = RiverRankTextureEnum.SecondPair; } else if (River.Rank == singles.ThirdCard.Rank) { RankTexture = RiverRankTextureEnum.ThirdPair; } else if (River.Rank == singles.LowCard.Rank) { RankTexture = RiverRankTextureEnum.LowPair; } else { RankTexture = RiverRankTextureEnum.Singles; } break; default: throw new InvalidOperationException(); } }