Esempio n. 1
0
        public SkillUseResult UseOn(Character usedBy, Character usedOn)
        {
            SkillUseResult result       = new SkillUseResult();
            var            presumedDMG  = usedBy.ATK * CharacterATKScaleFactor + DamageDealt;
            var            resultingDMG = presumedDMG - usedOn.Defense;

            double successChance = 1;

            if (usedOn.Evasion > usedBy.Accuracy)
            {
                successChance -= 0.35;
            }
            if (usedOn.Level > usedBy.Level)
            {
                successChance -= 0.35;
            }

            bool didSucceed = RandomValuesGenerator.GetBool(successChance);

            if (didSucceed)
            {
                result.DidDamage  = true;
                result.Amount     = resultingDMG;
                result.DidSuccess = true;
            }
            else
            {
                result.DidDamage  = false;
                result.Amount     = 0;
                result.DidSuccess = false;
            }

            return(result);
        }
Esempio n. 2
0
        public void RegenerateNewLocks(PuzzleDifficulty difficulty)
        {
            NumbersOrder = NumbersOrder.OrderBy(x => RandomValuesGenerator.GetRandomInt()).ToList();
            Locks.Clear();
            for (int i = 0; i < 10; i++)
            {
                switch (difficulty)
                {
                case PuzzleDifficulty.Easy:
                    Locks.Add(
                        new EasyPuzzleLockPreset(
                            number: NumbersOrder[i],
                            color: (PuzzleColors)Enum.GetValues(typeof(PuzzleColors)).GetValue(RandomValuesGenerator.GetInt(0, 4)),
                            lowerRange: 0,
                            upperRange: 9)
                    {
                        NumberCypherType = PuzzleNumberCypherType.ReverseInRange,
                        ColorCypherType  = PuzzleColorCypherType.TextShuffle
                    });
                    break;

                case PuzzleDifficulty.Normal:
                    Locks.Add(
                        new NormalPuzzleLockPreset(
                            lockNumber: NumbersOrder[i],
                            color: (PuzzleColors)Enum.GetValues(typeof(PuzzleColors)).GetValue(RandomValuesGenerator.GetInt(0, 4)),
                            caesarShift: RandomValuesGenerator.GetInt(1, 100))
                    {
                        NumberCypherType = PuzzleNumberCypherType.Caesar,
                        ColorCypherType  = PuzzleColorCypherType.RGB
                    });
                    break;

                case PuzzleDifficulty.Hard:
                    Locks.Add(
                        new HardPuzzleLockPreset(
                            lockNumber: NumbersOrder[i],
                            color: (PuzzleColors)Enum.GetValues(typeof(PuzzleColors)).GetValue(RandomValuesGenerator.GetInt(0, 4)))
                    {
                        NumberCypherType = PuzzleNumberCypherType.Binary,
                        ColorCypherType  = PuzzleColorCypherType.Hex
                    });
                    break;
                }
            }

            PreviousLockNumber = null;
            CurrentLockNumber  = null;
            NextLockNumber     = null;
            CurrentOrderIndex  = 0;
            CurrentLockNumber  = NumbersOrder[CurrentOrderIndex];
            NextLockNumber     = NumbersOrder[CurrentOrderIndex + 1];
        }
 public void SetUp()
 {
     Driver.StartBrowser();
     Driver.Browser.Manage().Window.Maximize();
     this.mainPage              = new MainPage();
     this.loginPage             = new LoginPage();
     this.profilePage           = new ProfilePage();
     this.registrationPage      = new RegistrationPage();
     this.forgottenPasswordPage = new ForgottenPasswordPage();
     this.userFactory           = new UserFactory();
     this.randomGenerator       = new RandomValuesGenerator();
     this.dateTimeNow           = DateTime.Now.ToString(dateTimeFormatSeconds);
     this.stopWatch             = new Stopwatch();
 }
Esempio n. 4
0
        private string Shuffle(string str)
        {
            char[] array = str.ToCharArray();
            int    n     = array.Length;

            while (n > 1)
            {
                n--;
                int k     = RandomValuesGenerator.GetInt(0, n + 1);
                var value = array[k];
                array[k] = array[n];
                array[n] = value;
            }
            return(new string(array));
        }
Esempio n. 5
0
        public static void AddGeneratorCoreServices(this IServiceCollection services)
        {
            IRandomValuesGenerator randomValuesGenerator = new RandomValuesGenerator();

            IFieldsGenerator fieldsGenerator = new FieldsGenerator(
                new DatasetValueGenerator(),
                new ByteGenerator(randomValuesGenerator),
                new IntegerGenerator(randomValuesGenerator),
                new DoubleGenerator(randomValuesGenerator),
                new DecimalGenerator(randomValuesGenerator),
                new ComplexGenerator(randomValuesGenerator),
                new BoolGenerator(randomValuesGenerator),
                new StringGenerator(randomValuesGenerator),
                new DateTimeGenerator(randomValuesGenerator),
                new DateGenerator(randomValuesGenerator),
                new GuidGenerator(randomValuesGenerator)
                );

            services.AddSingleton(fieldsGenerator);
            services.AddSingleton <IDataGeneratorService, DataGeneratorService>();
        }
 public UserFactory()
 {
     this.generator   = new RandomValuesGenerator();
     this.dateTimeNow = DateTime.Now.ToString(dateTimeFormatSeconds);
 }