Ejemplo n.º 1
0
        public double GetPayoutMultiplier(UserViewModel user)
        {
            RoleProbabilityPayoutModel roleProbabilityPayout = this.GetRoleProbabilityPayout(user);

            if (roleProbabilityPayout != null)
            {
                return(roleProbabilityPayout.Payout);
            }
            return(0);
        }
Ejemplo n.º 2
0
        protected GameOutcomeModel SelectRandomOutcome(UserViewModel user, IEnumerable <GameOutcomeModel> outcomes)
        {
            int randomNumber = this.GenerateProbability();
            int cumulativeOutcomeProbability = 0;

            foreach (GameOutcomeModel outcome in outcomes)
            {
                RoleProbabilityPayoutModel roleProbabilityPayout = outcome.GetRoleProbabilityPayout(user);
                if (roleProbabilityPayout != null)
                {
                    if (cumulativeOutcomeProbability < randomNumber && randomNumber <= (cumulativeOutcomeProbability + roleProbabilityPayout.Probability))
                    {
                        return(outcome);
                    }
                    cumulativeOutcomeProbability += roleProbabilityPayout.Probability;
                }
            }
            return(outcomes.Last());
        }