public void RandomGenerator() { var shift = new Shift(0, 1530914381, "32ad9e02792599dfdb6a9d0bc0b924da23bd96b1b7eb4f0a68", 7234, "00000000090d6c6b058227bb61ca2915a84998703d4444cc2641e6a0da4ba37e", 2, "163d2e383c77765232be1d9ed5e06749a814de49b4c0a8aebf324c0e9e2fd1cf", 1.00m, 0.0001m); var dice = new Dice(shift); Troschuetz.Random.IGenerator rand1 = dice.GetRandomGenerator(); Troschuetz.Random.IGenerator rand2 = dice.GetRandomGenerator(); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); Assert.Equal(rand1.Next(), rand2.Next()); }
public MersenneTwitsterRandom() { generator = new Troschuetz.Random.Generators.MT19937Generator(Environment.TickCount); }
/// <summary> /// Gets a random position from the MapArea for which the given selector returns true. Positions /// are repeatedly selected until a valid one is found. /// </summary> /// <param name="selector"> /// A function that should return true for any coordinate that is a valid selection, and /// false otherwise. /// </param> /// <param name="rng">The rng to use. Defaults to <see cref="GoRogue.Random.SingletonRandom.DefaultRNG"/>.</param> /// <returns> /// A random position from within the MapArea for which the selector given returns true. /// </returns> public Coord RandomPosition(Func <Coord, bool> selector, IGenerator rng = null) => _positions.RandomItem(selector, rng);
/// <summary> /// Gets a random position from the MapArea. /// </summary> /// <param name="rng">The rng to use. Defaults to <see cref="GoRogue.Random.SingletonRandom.DefaultRNG"/>.</param> /// <returns>A random position from within the MapArea.</returns> public Coord RandomPosition(IGenerator rng = null) => _positions.RandomItem(rng);
public AdditiveLaggedFibonacciRandom() { generator = new Troschuetz.Random.Generators.ALFGenerator(Environment.TickCount); }
public NR3Random() { generator = new Troschuetz.Random.Generators.NR3Generator(Environment.TickCount); }