コード例 #1
0
ファイル: GameState.cs プロジェクト: YouJinTou/BNQ
        public override State Expand()
        {
            if (this.Street.IsFinalStreet())
            {
                return(this);
            }

            if (this.AllAllIn)
            {
                this.Children.Add(StateFactory.CreateAllInState(this));

                return(this.Children.First());
            }

            if (this.AnyAllIn)
            {
                this.Children.Add(StateFactory.CreateCallState(this));

                this.Children.Add(StateFactory.CreateFoldState(this));

                return(this.Children.First());
            }

            if (this.LastAction.IsPassive())
            {
                this.Children.Add(StateFactory.CreateBet50State(this));

                this.Children.Add(StateFactory.CreateCheckState(this));

                return(this.Children.First());
            }

            this.Children.Add(StateFactory.CreateCallState(this));

            this.Children.Add(StateFactory.CreateRaise50State(this));

            this.Children.Add(StateFactory.CreateFoldState(this));

            return(this.Children.First());
        }