Initial commit

This commit is contained in:
2024-07-20 13:51:52 +02:00
commit 3845f91601
26 changed files with 1822 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
namespace PkmnLib.Static.Utils;
public interface IRandom
{
public int GetInt(int min, int max);
public int GetInt(int max);
public int GetInt();
public float GetFloat();
public float GetFloat(float min, float max);
public bool GetBool();
}
public class RandomImpl : IRandom
{
private Random _random;
public RandomImpl(Random random)
{
_random = random;
}
public RandomImpl(int seed)
{
_random = new Random(seed);
}
public RandomImpl()
{
_random = new Random();
}
public int GetInt(int min, int max) => _random.Next(min, max);
public int GetInt(int max) => _random.Next(max);
public int GetInt() => _random.Next();
public float GetFloat() => (float)_random.NextDouble();
public float GetFloat(float min, float max) => (float)(_random.NextDouble() * (max - min) + min);
public bool GetBool() => _random.Next(2) == 1;
}