Example #1
0
        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);
 }
Example #3
0
 /// <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);
Example #4
0
 /// <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);
 }
Example #6
0
 public NR3Random()
 {
     generator = new Troschuetz.Random.Generators.NR3Generator(Environment.TickCount);
 }