Initial Commit

This commit is contained in:
Kurt
2018-11-13 19:44:43 -08:00
parent c2cf579d4f
commit 52d70f0b9f
175 changed files with 13734 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
namespace pkNX.Randomization
{
/// <summary> Cyclical Shuffled Randomizer </summary>
/// <remarks>
/// The shuffled list is iterated over, and reshuffled when exhausted.
/// The list does not repeat values until the list is exhausted.
/// </remarks>
public class GenericRandomizer
{
public GenericRandomizer(int[] randomValues)
{
RandomValues = randomValues;
}
private readonly int[] RandomValues;
private int ctr;
public void Reset()
{
ctr = 0;
Util.Shuffle(RandomValues);
}
public int Next()
{
if (ctr == 0)
Util.Shuffle(RandomValues);
int value = RandomValues[ctr++];
ctr %= RandomValues.Length;
return value;
}
}
}