예제 #1
0
 public void RaiseAction(ICharacter character, int raise, ISingleBet bet)
 {
     character.HasRaised = true;
     character.Raise(raise);
     bet.AddBet(raise);
     bet.LastBet = raise;
 }
예제 #2
0
        public void Flush(ICharacter character, int call, ISingleBet pot, int raise)
        {
            int randomCall  = this.random.GetRandomNumberInInterval(2, 6);
            int randomRaise = this.random.GetRandomNumberInInterval(3, 7);

            this.handClassificator.Smooth(character, randomCall, randomRaise, call, pot, raise);
        }
예제 #3
0
        public void Flush(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall  = this.random.GetRandomNumberInInterval(2, 6);
            int randomRaise = this.random.GetRandomNumberInInterval(3, 7);

            this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
        }
예제 #4
0
 public void RaiseAction(ICharacter character, int raise, ISingleBet bet)
 {
     character.HasRaised = true;
     character.Raise(raise);
     bet.AddBet(raise);
     bet.LastBet = raise;
 }
예제 #5
0
        public void FourOfAKind(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall  = this.random.GetRandomNumberInInterval(1, 4);
            int randomRaise = this.random.GetRandomNumberInInterval(2, 5);

            if (character.CharacterType.Power <= 752 && character.CharacterType.Power >= 704)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }
        }
예제 #6
0
        public void StraightFlush(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall  = this.random.GetRandomNumberInInterval(1, 3);
            int randomRaise = this.random.GetRandomNumberInInterval(1, 3);

            if (character.CharacterType.Power <= 913 && character.CharacterType.Power >= 804)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }
        }
예제 #7
0
        public void Smooth(ICharacter character, int n, int r, int call, ISingleBet pot, int raise)
        {
            if (call <= 0)
            {
                this.actions.CheckAction(character);
            }
            else
            {
                if (call >= CalculationsHelper.RoundNumber(character.Chips, n))
                {
                    if (character.Chips > call)
                    {
                        this.actions.CallAction(character, call, pot);
                    }
                    else if (character.Chips <= call)
                    {
                        character.HasRaised            = false;
                        character.IsInTurn             = false;
                        character.Chips                = 0;
                        character.CharacterStatus.Text = "Call " + character.Chips;
                        pot.AddBet(character.Chips);
                    }
                }
                else
                {
                    if (raise > 0)
                    {
                        if (character.Chips >= raise * 2)
                        {
                            raise *= 2;
                            this.actions.RaiseAction(character, raise, pot);
                        }
                        else
                        {
                            this.actions.CallAction(character, call, pot);
                        }
                    }
                    else
                    {
                        raise = call * 2;
                        this.actions.RaiseAction(character, raise, pot);
                    }
                }
            }

            if (character.Chips <= 0)
            {
                character.FoldTurn = true;
            }
        }
예제 #8
0
        public void FullHouse(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomhCall = this.random.GetRandomNumberInInterval(1, 5);
            int randomRaise = this.random.GetRandomNumberInInterval(2, 6);

            if (character.CharacterType.Power <= 626 && character.CharacterType.Power >= 620)
            {
                this.type.Smooth(character, randomhCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power < 620 && character.CharacterType.Power >= 602)
            {
                this.type.Smooth(character, randomhCall, randomRaise, call, bet, raise);
            }
        }
예제 #9
0
 public Engine(ICharacter player, ICollection <ICharacter> bots, ISingleBet bet, IPokerManager pokerManager, IDeck deck, IMessage message, IHandPower type, ICheckHand checkHandType)
 {
     this.player       = player;
     this.bots         = new List <ICharacter>(bots);
     this.Bet          = bet;
     this.pokerManager = pokerManager;
     this.deck         = deck;
     this.Message      = message;
     this.winningHand  = new Type();
     this.BigBlind     = GameConstants.DefautBigBlind;
     this.SmallBlind   = GameConstants.DefautSmallBlind;
     this.SetDefaultCall();
     this.Raise              = 0;
     this.hasRaisedPlayers   = false;
     this.ClassificattorType = type;
     this.CheckHandType      = checkHandType;
     this.raisedTurn         = 1;
 }
예제 #10
0
 public Engine(ICharacter player, ICollection<ICharacter> bots, ISingleBet bet, IPokerManager pokerManager, IDeck deck, IMessage message, IHandPower type, ICheckHand checkHandType)
 {
     this.player = player;
     this.bots = new List<ICharacter>(bots);
     this.Bet = bet;
     this.pokerManager = pokerManager;
     this.deck = deck;
     this.Message = message;
     this.winningHand = new Type();
     this.BigBlind = GameConstants.DefautBigBlind;
     this.SmallBlind = GameConstants.DefautSmallBlind;
     this.SetDefaultCall();
     this.Raise = 0;
     this.hasRaisedPlayers = false;
     this.ClassificattorType = type;
     this.CheckHandType = checkHandType;
     this.raisedTurn = 1;
 }
예제 #11
0
        public void ThreeOfAKind(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall  = this.random.GetRandomNumberInInterval(3, 7);
            int randomRaise = this.random.GetRandomNumberInInterval(4, 8);

            if (character.CharacterType.Power <= 390 && character.CharacterType.Power >= 330)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power <= 327 && character.CharacterType.Power >= 321)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power < 321 && character.CharacterType.Power >= 303)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }
        }
예제 #12
0
        public void PairHand(ICharacter character, int call, ISingleBet bet, int raise, GameStateType state)
        {
            int randomCall = this.random.GetRandomNumberInInterval(10, 16);
            int randomRaise = this.random.GetRandomNumberInInterval(10, 13);

            if (character.CharacterType.Power <= 199 && character.CharacterType.Power >= 140)
            {
                this.type.PH(character, randomCall, 6, randomRaise, call, bet, raise, state);
            }

            if (character.CharacterType.Power <= 139 && character.CharacterType.Power >= 128)
            {
                this.type.PH(character, randomCall, 7, randomRaise, call, bet, raise, state);
            }

            if (character.CharacterType.Power < 128 && character.CharacterType.Power >= 101)
            {
                this.type.PH(character, randomCall, 9, randomRaise, call, bet, raise, state);
            }
        }
예제 #13
0
        public void PairHand(ICharacter character, int call, ISingleBet bet, int raise, GameStateType state)
        {
            int randomCall  = this.random.GetRandomNumberInInterval(10, 16);
            int randomRaise = this.random.GetRandomNumberInInterval(10, 13);

            if (character.CharacterType.Power <= 199 && character.CharacterType.Power >= 140)
            {
                this.type.PH(character, randomCall, 6, randomRaise, call, bet, raise, state);
            }

            if (character.CharacterType.Power <= 139 && character.CharacterType.Power >= 128)
            {
                this.type.PH(character, randomCall, 7, randomRaise, call, bet, raise, state);
            }

            if (character.CharacterType.Power < 128 && character.CharacterType.Power >= 101)
            {
                this.type.PH(character, randomCall, 9, randomRaise, call, bet, raise, state);
            }
        }
예제 #14
0
        public void TwoPair(ICharacter character, int call, ISingleBet bet, int raise, GameStateType state)
        {
            int randomCall  = this.random.GetRandomNumberInInterval(6, 11);
            int randomRaise = this.random.GetRandomNumberInInterval(6, 11);

            if (character.CharacterType.Power <= 290 && character.CharacterType.Power >= 246)
            {
                this.type.PH(character, randomCall, 3, randomRaise, call, bet, raise, state);
            }

            if (character.CharacterType.Power <= 244 && character.CharacterType.Power >= 234)
            {
                this.type.PH(character, randomCall, 4, randomRaise, call, bet, raise, state);
            }

            if (character.CharacterType.Power < 234 && character.CharacterType.Power >= 201)
            {
                this.type.PH(character, randomCall, 4, randomRaise, call, bet, raise, state);
            }
        }
예제 #15
0
        public void TwoPair(ICharacter character, int call, ISingleBet bet, int raise, GameStateType state)
        {
            int randomCall = this.random.GetRandomNumberInInterval(6, 11);
            int randomRaise = this.random.GetRandomNumberInInterval(6, 11);

            if (character.CharacterType.Power <= 290 && character.CharacterType.Power >= 246)
            {
                this.type.PH(character, randomCall, 3, randomRaise, call, bet, raise, state);
            }

            if (character.CharacterType.Power <= 244 && character.CharacterType.Power >= 234)
            {
                this.type.PH(character, randomCall, 4, randomRaise, call, bet, raise, state);
            }

            if (character.CharacterType.Power < 234 && character.CharacterType.Power >= 201)
            {
                this.type.PH(character, randomCall, 4, randomRaise, call, bet, raise, state);
            }
        }
예제 #16
0
        public void ThreeOfAKind(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall = this.random.GetRandomNumberInInterval(3, 7);
            int randomRaise = this.random.GetRandomNumberInInterval(4, 8);

            if (character.CharacterType.Power <= 390 && character.CharacterType.Power >= 330)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power <= 327 && character.CharacterType.Power >= 321)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power < 321 && character.CharacterType.Power >= 303)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }
        }
예제 #17
0
        public void Straight(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall  = this.random.GetRandomNumberInInterval(3, 6);
            int randomRaise = this.random.GetRandomNumberInInterval(3, 8);

            if (character.CharacterType.Power <= 480 && character.CharacterType.Power >= 410)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power <= 409 && character.CharacterType.Power >= 407)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power < 407 && character.CharacterType.Power >= 404)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }
        }
예제 #18
0
 public void HighCard(ICharacter character, int call, ISingleBet pot, int raise)
 {
     this.handClassificator.HP(character, 20, 25, call, pot, raise);
 }
예제 #19
0
 public void PairTable(ICharacter character, int call, ISingleBet pot, int raise)
 {
     this.handClassificator.HP(character, 16, 25, call, pot, raise);
 }
예제 #20
0
 public void CallAction(ICharacter character, int call, ISingleBet bet)
 {
     character.HasRaised = false;
     character.Call(call);
     bet.AddBet(call);
 }
예제 #21
0
        public void HP(ICharacter character, int n, int n1, int call, ISingleBet pot, int raise)
        {
            int randomInteger = this.random.GetRandomNumberInInterval(1, 4);

            if (call <= 0)
            {
                this.actions.CheckAction(character);
            }
            else
            {
                if (randomInteger == 1)
                {
                    if (call <= CalculationsHelper.RoundNumber(character.Chips, n))
                    {
                        this.actions.CallAction(character, call, pot);
                    }
                    else
                    {
                        this.actions.FoldAction(character);
                    }
                }

                if (randomInteger == 2)
                {
                    if (call <= CalculationsHelper.RoundNumber(character.Chips, n1))
                    {
                        this.actions.CallAction(character, call, pot);
                    }
                    else
                    {
                        this.actions.FoldAction(character);
                    }
                }
            }

            if (randomInteger == 3)
            {
                if (raise == 0)
                {
                    raise = call * 2;
                    this.actions.RaiseAction(character, raise, pot);
                }
                else
                {
                    if (raise <= CalculationsHelper.RoundNumber(character.Chips, n))
                    {
                        raise = call * 2;
                        this.actions.RaiseAction(character, raise, pot);
                    }
                    else
                    {
                        this.actions.FoldAction(character);
                    }
                }
            }

            if (character.Chips <= 0)
            {
                character.FoldTurn = true;
            }
        }
예제 #22
0
        public void Straight(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall = this.random.GetRandomNumberInInterval(3, 6);
            int randomRaise = this.random.GetRandomNumberInInterval(3, 8);

            if (character.CharacterType.Power <= 480 && character.CharacterType.Power >= 410)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power <= 409 && character.CharacterType.Power >= 407)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power < 407 && character.CharacterType.Power >= 404)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }
        }
예제 #23
0
        public void Flush(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall = this.random.GetRandomNumberInInterval(2, 6);
            int randomRaise = this.random.GetRandomNumberInInterval(3, 7);

            this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
        }
예제 #24
0
 public void PairTable(ICharacter character, int call, ISingleBet bet, int raise)
 {
     this.type.HP(character, 16, 25, call, bet, raise);
 }
예제 #25
0
 public void PairTable(ICharacter character, int call, ISingleBet bet, int raise)
 {
     this.type.HP(character, 16, 25, call, bet, raise);
 }
예제 #26
0
 public void HighCard(ICharacter character, int call, ISingleBet bet, int raise)
 {
     this.type.HP(character, 20, 25, call, bet, raise);
 }
예제 #27
0
        public void Smooth(ICharacter character, int n, int r, int call, ISingleBet pot, int raise)
        {
            if (call <= 0)
            {
                this.actions.CheckAction(character);
            }
            else
            {
                if (call >= CalculationsHelper.RoundNumber(character.Chips, n))
                {
                    if (character.Chips > call)
                    {
                        this.actions.CallAction(character, call, pot);
                    }
                    else if (character.Chips <= call)
                    {
                        character.HasRaised = false;
                        character.IsInTurn = false;
                        character.Chips = 0;
                        character.CharacterStatus.Text = "Call " + character.Chips;
                        pot.AddBet(character.Chips);
                    }
                }
                else
                {
                    if (raise > 0)
                    {
                        if (character.Chips >= raise * 2)
                        {
                            raise *= 2;
                            this.actions.RaiseAction(character, raise, pot);
                        }
                        else
                        {
                            this.actions.CallAction(character, call, pot);
                        }
                    }
                    else
                    {
                        raise = call * 2;
                        this.actions.RaiseAction(character, raise, pot);
                    }
                }
            }

            if (character.Chips <= 0)
            {
                character.FoldTurn = true;
            }
        }
예제 #28
0
        public void FullHouse(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomhCall = this.random.GetRandomNumberInInterval(1, 5);
            int randomRaise = this.random.GetRandomNumberInInterval(2, 6);

            if (character.CharacterType.Power <= 626 && character.CharacterType.Power >= 620)
            {
                this.type.Smooth(character, randomhCall, randomRaise, call, bet, raise);
            }

            if (character.CharacterType.Power < 620 && character.CharacterType.Power >= 602)
            {
                this.type.Smooth(character, randomhCall, randomRaise, call, bet, raise);
            }
        }
예제 #29
0
        public void PH(ICharacter character, int n, int n1, int r, int call, ISingleBet bet, int raise,  GameStateType state)
        {
            int rnd = this.random.GetRandomNumberInInterval(1, 3);

            if (state < GameStateType.Turn)
            {
                if (call <= 0)
                {
                    this.actions.CheckAction(character);
                }

                if (call > 0)
                {
                    if (call >= CalculationsHelper.RoundNumber(character.Chips, n1))
                    {
                        this.actions.FoldAction(character);
                    }

                    if (raise > CalculationsHelper.RoundNumber(character.Chips, n))
                    {
                        this.actions.FoldAction(character);
                    }

                    if (!character.FoldTurn)
                    {
                        if (call >= CalculationsHelper.RoundNumber(character.Chips, n) && call <= CalculationsHelper.RoundNumber(character.Chips, n1))
                        {
                            this.actions.CallAction(character, call, bet);
                        }

                        if (raise <= CalculationsHelper.RoundNumber(character.Chips, n) && raise >= CalculationsHelper.RoundNumber(character.Chips, n) / 2)
                        {
                            this.actions.CallAction(character, call, bet);
                        }

                        if (raise <= CalculationsHelper.RoundNumber(character.Chips, n) / 2)
                        {
                            if (raise > 0)
                            {
                                raise = (int)CalculationsHelper.RoundNumber(character.Chips, n);
                                this.actions.CallAction(character, call, bet);
                            }
                            else
                            {
                                raise = call * 2;
                                this.actions.CallAction(character, call, bet);
                            }
                        }
                    }
                }
            }

            if (state >= GameStateType.Turn)
            {
                if (call > 0)
                {
                    if (call >= CalculationsHelper.RoundNumber(character.Chips, n1 - rnd))
                    {
                        this.actions.FoldAction(character);
                    }

                    if (raise > CalculationsHelper.RoundNumber(character.Chips, n - rnd))
                    {
                        this.actions.FoldAction(character);
                    }

                    if (!character.FoldTurn)
                    {
                        if (call >= CalculationsHelper.RoundNumber(character.Chips, n - rnd) && call <= CalculationsHelper.RoundNumber(character.Chips, n1 - rnd))
                        {
                            this.actions.CallAction(character, call, bet);
                        }

                        if (raise <= CalculationsHelper.RoundNumber(character.Chips, n - rnd) && raise >= CalculationsHelper.RoundNumber(character.Chips, n - rnd) / 2)
                        {
                            this.actions.CallAction(character, call, bet);
                        }

                        if (raise <= CalculationsHelper.RoundNumber(character.Chips, n - rnd) / 2)
                        {
                            if (raise > 0)
                            {
                                raise = (int)CalculationsHelper.RoundNumber(character.Chips, n - rnd);
                                this.actions.RaiseAction(character, raise, bet);
                            }
                            else
                            {
                                raise = call * 2;
                                this.actions.RaiseAction(character, raise, bet);
                            }
                        }
                    }
                }

                if (call <= 0)
                {
                    raise = (int)CalculationsHelper.RoundNumber(character.Chips, r - rnd);
                    this.actions.RaiseAction(character, raise, bet);
                }
            }

            if (character.Chips <= 0)
            {
                character.FoldTurn = true;
            }
        }
예제 #30
0
 public void HighCard(ICharacter character, int call, ISingleBet pot, int raise)
 {
     this.handClassificator.HP(character, 20, 25, call, pot, raise);
 }
예제 #31
0
 public void HighCard(ICharacter character, int call, ISingleBet bet, int raise)
 {
     this.type.HP(character, 20, 25, call, bet, raise);
 }
예제 #32
0
 public void PairTable(ICharacter character, int call, ISingleBet pot, int raise)
 {
     this.handClassificator.HP(character, 16, 25, call, pot, raise);
 }
예제 #33
0
        public void PH(ICharacter character, int n, int n1, int r, int call, ISingleBet bet, int raise, GameStateType state)
        {
            int rnd = this.random.GetRandomNumberInInterval(1, 3);

            if (state < GameStateType.Turn)
            {
                if (call <= 0)
                {
                    this.actions.CheckAction(character);
                }

                if (call > 0)
                {
                    if (call >= CalculationsHelper.RoundNumber(character.Chips, n1))
                    {
                        this.actions.FoldAction(character);
                    }

                    if (raise > CalculationsHelper.RoundNumber(character.Chips, n))
                    {
                        this.actions.FoldAction(character);
                    }

                    if (!character.FoldTurn)
                    {
                        if (call >= CalculationsHelper.RoundNumber(character.Chips, n) && call <= CalculationsHelper.RoundNumber(character.Chips, n1))
                        {
                            this.actions.CallAction(character, call, bet);
                        }

                        if (raise <= CalculationsHelper.RoundNumber(character.Chips, n) && raise >= CalculationsHelper.RoundNumber(character.Chips, n) / 2)
                        {
                            this.actions.CallAction(character, call, bet);
                        }

                        if (raise <= CalculationsHelper.RoundNumber(character.Chips, n) / 2)
                        {
                            if (raise > 0)
                            {
                                raise = (int)CalculationsHelper.RoundNumber(character.Chips, n);
                                this.actions.CallAction(character, call, bet);
                            }
                            else
                            {
                                raise = call * 2;
                                this.actions.CallAction(character, call, bet);
                            }
                        }
                    }
                }
            }

            if (state >= GameStateType.Turn)
            {
                if (call > 0)
                {
                    if (call >= CalculationsHelper.RoundNumber(character.Chips, n1 - rnd))
                    {
                        this.actions.FoldAction(character);
                    }

                    if (raise > CalculationsHelper.RoundNumber(character.Chips, n - rnd))
                    {
                        this.actions.FoldAction(character);
                    }

                    if (!character.FoldTurn)
                    {
                        if (call >= CalculationsHelper.RoundNumber(character.Chips, n - rnd) && call <= CalculationsHelper.RoundNumber(character.Chips, n1 - rnd))
                        {
                            this.actions.CallAction(character, call, bet);
                        }

                        if (raise <= CalculationsHelper.RoundNumber(character.Chips, n - rnd) && raise >= CalculationsHelper.RoundNumber(character.Chips, n - rnd) / 2)
                        {
                            this.actions.CallAction(character, call, bet);
                        }

                        if (raise <= CalculationsHelper.RoundNumber(character.Chips, n - rnd) / 2)
                        {
                            if (raise > 0)
                            {
                                raise = (int)CalculationsHelper.RoundNumber(character.Chips, n - rnd);
                                this.actions.RaiseAction(character, raise, bet);
                            }
                            else
                            {
                                raise = call * 2;
                                this.actions.RaiseAction(character, raise, bet);
                            }
                        }
                    }
                }

                if (call <= 0)
                {
                    raise = (int)CalculationsHelper.RoundNumber(character.Chips, r - rnd);
                    this.actions.RaiseAction(character, raise, bet);
                }
            }

            if (character.Chips <= 0)
            {
                character.FoldTurn = true;
            }
        }
예제 #34
0
        public void Flush(ICharacter character, int call, ISingleBet pot, int raise)
        {
            int randomCall = this.random.GetRandomNumberInInterval(2, 6);
            int randomRaise = this.random.GetRandomNumberInInterval(3, 7);

            this.handClassificator.Smooth(character, randomCall, randomRaise, call, pot, raise);
        }
예제 #35
0
        public void FourOfAKind(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall = this.random.GetRandomNumberInInterval(1, 4);
            int randomRaise = this.random.GetRandomNumberInInterval(2, 5);

            if (character.CharacterType.Power <= 752 && character.CharacterType.Power >= 704)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }
        }
예제 #36
0
 public void CallAction(ICharacter character, int call, ISingleBet bet)
 {
     character.HasRaised = false;
     character.Call(call);
     bet.AddBet(call);
 }
예제 #37
0
        public void StraightFlush(ICharacter character, int call, ISingleBet bet, int raise)
        {
            int randomCall = this.random.GetRandomNumberInInterval(1, 3);
            int randomRaise = this.random.GetRandomNumberInInterval(1, 3);

            if (character.CharacterType.Power <= 913 && character.CharacterType.Power >= 804)
            {
                this.type.Smooth(character, randomCall, randomRaise, call, bet, raise);
            }
        }
예제 #38
0
        public void HP(ICharacter character, int n, int n1, int call, ISingleBet pot, int raise)
        {
            int randomInteger = this.random.GetRandomNumberInInterval(1, 4);

            if (call <= 0)
            {
                this.actions.CheckAction(character);
            }
            else
            {
                if (randomInteger == 1)
                {
                    if (call <= CalculationsHelper.RoundNumber(character.Chips, n))
                    {
                        this.actions.CallAction(character, call, pot);
                    }
                    else
                    {
                        this.actions.FoldAction(character);
                    }
                }

                if (randomInteger == 2)
                {
                    if (call <= CalculationsHelper.RoundNumber(character.Chips, n1))
                    {
                        this.actions.CallAction(character, call, pot);
                    }
                    else
                    {
                        this.actions.FoldAction(character);
                    }
                }
            }

            if (randomInteger == 3)
            {
                if (raise == 0)
                {
                    raise = call * 2;
                    this.actions.RaiseAction(character, raise, pot);
                }
                else
                {
                    if (raise <= CalculationsHelper.RoundNumber(character.Chips, n))
                    {
                        raise = call * 2;
                        this.actions.RaiseAction(character, raise, pot);
                    }
                    else
                    {
                        this.actions.FoldAction(character);
                    }
                }
            }

            if (character.Chips <= 0)
            {
                character.FoldTurn = true;
            }
        }