Пример #1
0
        public SlotMachineSpinResultDto Spin(decimal stakeAmount)
        {
            var    rowsOfSymbols = new List <List <Symbol> >();
            double coefficient   = 0;
            ISymbolCoefficientProvider symbolCoefficientProvider = _symbolCoefficientProviderFactory.Create();

            for (int i = 0; i < Rows; i++)
            {
                List <Symbol> symbols = _randomSymbolGenerator.Generate(NumberOfSymbolsOnARow);
                rowsOfSymbols.Add(symbols);
                coefficient += symbolCoefficientProvider.GetCoefficient(symbols);
            }

            decimal winAmount = (decimal)coefficient * stakeAmount;

            _player.Balance += winAmount;

            return(new SlotMachineSpinResultDto
            {
                PlayerBalance = _player.Balance,
                Symbols = rowsOfSymbols,
                WinAmount = winAmount,
                IsSuccess = true
            });
        }
Пример #2
0
 public void SetSuccessor(ISymbolCoefficientProvider symbolCoefficientProvider)
 {
     _successor = symbolCoefficientProvider;
 }