// Fisher–Yates shuffle public static void Shuffle <T>(this IRandomNumbersProvider rng, T[] array) { int n = array.Length; while (n > 1) { int k = rng.Next(n--); T temp = array[n]; array[n] = array[k]; array[k] = temp; } }
public RandomStrategy(IRandomNumbersProvider randomNumbersProvider) { _randomNumbersProvider = randomNumbersProvider; }
public BelievableStrategy(IMoveChecker[] moveCheckers, IRandomNumbersProvider randomNumbersProvider) { _moveCheckers = moveCheckers.OrderByDescending(c => (int)c.MoveType).ToArray(); _randomNumbersProvider = randomNumbersProvider; }
public Cpu128Bit(byte numberOfCores, Motherboard motherboard, IRandomNumbersProvider randomNumbersProvider) : base(numberOfCores, motherboard, randomNumbersProvider) { }
public Cpu(byte numberOfCores, Motherboard motherboard, IRandomNumbersProvider randomProvider) { this.MotherBoard = motherboard; this.NumberOfCores = numberOfCores; this.RandomProvider = randomProvider; }
public TraceableBelievableStrategy(IMoveChecker[] moveCheckers, IRandomNumbersProvider randomNumbersProvider, ILogger logger) : base(moveCheckers, randomNumbersProvider) { Logger = logger; }