public bool FreeSpinResultShouldFlagSpinResultWithBonusOnScatterOrCollapse(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 = FreeSpinBonusEngine.GenerateWinPositions( config.Payline, config.FreeGamePayTable, config.FreeGameScatterSymbols, wheel, spinBet.LineBet, spinBet.Lines, 1); var bonusPositions = MainGameEngine.GenerateBonusPositions(wheel); var freeSpinResult = new FreeSpinResult(spinBet, wheel, null, winPositions, bonusPositions); return(freeSpinResult.HasBonus); }
public string EngineShouldCreateCorrectCollapseReels(string wheelString, string indicesString, 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 targetWheel = config.WeightedReelStripsCollection .Where(reelStripItem => reelStripItem.Name.Contains("freegame", StringComparison.InvariantCultureIgnoreCase)) .ElementAt(1) .Wheel; var topIndices = Array.ConvertAll(indicesString.Split(','), Convert.ToInt32).ToList(); var wheel = new Wheel(Game.WheelWidth, Game.WheelHeight, wheelString.ToFormattedWheelString()); var winPositions = FreeSpinBonusEngine.GenerateWinPositions(config.Payline, config.FreeGamePayTable, config.FreeGameScatterSymbols, wheel, spinBet.LineBet, spinBet.Lines, 1); var bonusPositions = MainGameEngine.GenerateBonusPositions(wheel); var freeSpinResult = new FreeSpinResult(spinBet, wheel, topIndices, winPositions, bonusPositions); var freeSpinCollapsingResult = FreeSpinBonusEngine.CreateFreeSpinCollapsingResult( freeSpinResult, targetWheel, config.Payline, config.FreeGamePayTable, config.FreeGameScatterSymbols); return(string.Join('|', freeSpinCollapsingResult.Wheel.Reels.Select(symbols => string.Join(',', symbols)))); }