/// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="seed">0~FFFF</param>
        /// <param name="setting">1~6</param>
        public TheOceanMachine(int seed, int setting)
        {
            this.seed = seed;
            this.setting = setting;

            mainLogic = new MainLogic(seed);
            kakuhenMachine = new KakuhenMachine();
            routeDeterminer = new RouteDeterminer(seed, setting);
            reelMachine = new ReelMachine();
            roundMachine = new RoundMachine();
        }
        public void Progress(KakuhenMachine kakuhenMachine)
        {
            if( State == RoundState.EndRound)
            {
                State = RoundState.EnsyutuSyuryo;
                Logger.Info($"[INFO]EnsyutuSyuryo");
            }
            else if( State == RoundState.EnsyutuSyuryo)
            {
                State = RoundState.Kaitentai;
                Logger.Info($"[INFO]Kaitentai");
            }
            else if ( State == RoundState.Kaitentai)
            {
                State = RoundState.Turip;
                Logger.Info($"[INFO]Turip Open");
            }
            else if( State == RoundState.Turip)
            {
                if( Round>= 15)
                {
                    // 最終ラウンド終了
                    State = RoundState.EndRound;
                    Logger.Info($"[INFO]End round");
                    Round = 0;

                    kakuhenMachine.Syoka();

                    return;
                }

                State = RoundState.Kaitentai;
                Round++;
                Logger.Info($"[INFO]Round Start:{Round}");
            }
        }