예제 #1
0
        public bool SpinResultShouldCorrectlyFlagForMultiplier(string wheelString, int level, decimal bet)
        {
            var config  = new Configuration();
            var spinBet = MainGameEngine.GenerateSpinBet(new RequestContext <SpinArgs>("", "", PlatformType.Web)
            {
                GameSetting = new Model.Entity.GameSetting {
                    GameSettingGroupId = 0
                },
                Currency = new Model.Entity.Currency {
                    Id = 0
                },
                Parameters = new SpinArgs
                {
                    LineBet    = bet,
                    Multiplier = 1
                }
            });

            var wheel          = new Wheel(Game.WheelWidth, Game.WheelHeight, wheelString.ToFormattedWheelString());
            var winPositions   = MainGameEngine.GenerateWinPositions(config.Payline, config.PayTable, wheel, spinBet.LineBet, spinBet.Lines, spinBet.Multiplier);
            var stackedReels   = MainGameEngine.GetStackedReels(wheel, config.PayTable);
            var bonusPositions = MainGameEngine.GenerateBonusPositions(stackedReels);
            var spinResult     = new SpinResult(spinBet, wheel, winPositions, bonusPositions);

            return(spinResult.HasMultiplierBonus);
        }
        public string EngineShouldCreateCorrectRespinWheel(string wheelString, string newWheelString, int level)
        {
            var config  = new Configuration();
            var spinBet = MainGameEngine.GenerateSpinBet(new RequestContext <SpinArgs>("", "", PlatformType.Web)
            {
                GameSetting = new Model.Entity.GameSetting {
                    GameSettingGroupId = 0
                },
                Currency = new Model.Entity.Currency {
                    Id = 0
                },
                Parameters = new SpinArgs
                {
                    LineBet    = 1,
                    Multiplier = 1
                }
            });

            var wheel          = new Wheel(Game.WheelWidth, Game.WheelHeight, wheelString.ToFormattedWheelString());
            var winPositions   = MainGameEngine.GenerateWinPositions(config.Payline, config.PayTable, wheel, spinBet.LineBet, spinBet.Lines, spinBet.Multiplier);
            var stackedReels   = MainGameEngine.GetStackedReels(wheel, config.PayTable);
            var bonusPositions = MainGameEngine.GenerateBonusPositions(stackedReels);
            var spinResult     = new SpinResult(spinBet, wheel, winPositions, bonusPositions);
            var newWheel       = new Wheel(Game.WheelWidth, Game.WheelHeight, newWheelString.ToFormattedWheelString());
            var generatedWheel = RespinBonusEngine.GenerateRespinWheel(spinResult, newWheel);

            return(string.Join(",", generatedWheel.Reels.SelectMany(symbol => symbol)));
        }