// ---------------------- public RouletteType(string MachineName, decimal MachineStake) { ID = 0; Name = MachineName; stake = MachineStake; Fields = new List <SelectableField>(); Results = new HashSet <TestResult>(); for (int i = 1; i <= 63; i++) { SelectableField field = new SelectableField(); switch (i) { case int n when(n <= 30): field.ID = i; field.Color = "Black"; field.stakeMultiplier = 2; break; case int n when(n >= 31 && n <= 60): field.ID = i; field.Color = "Red"; field.stakeMultiplier = 2; break; case int n when(n > 60): field.ID = i; field.Color = "White"; field.stakeMultiplier = 0.1M; break; } Fields.Add(field); } }
public void RunSingleTest() { Random randomizer = new Random(); string selectedColour = randomizer.Next(1, 2) == 1 ? "Black" : "Red"; int randomResult = randomizer.Next(1, Fields.Count()); decimal runprofit = stake; SelectableField resultField = Fields.Where(x => x.ID == randomResult).First(); if (resultField.Color == selectedColour || resultField.Color == "White") { runprofit -= (stake * resultField.stakeMultiplier); } Results.Add(new TestResult { testNum = Results.Count == 0 ? 1 : Results.Max(x => x.testNum) + 1, profit = runprofit }); }