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); }
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(); }
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)); }
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); }