diff --git a/KfChatDotNetBot/Commands/Kasino/PlanesCommand.cs b/KfChatDotNetBot/Commands/Kasino/PlanesCommand.cs index b3b73a4..c198fc9 100644 --- a/KfChatDotNetBot/Commands/Kasino/PlanesCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/PlanesCommand.cs @@ -92,14 +92,14 @@ public class Planes : ICommand if (HOUSE_EDGE < 1) { - if (Money.GetRandomDouble(gambler, 1) > (double)HOUSE_EDGE) + if (Money.GetRandomDouble(gambler) > (double)HOUSE_EDGE) { _rigged = true; } } else { - if ((double)HOUSE_EDGE - Money.GetRandomDouble(gambler, 1) > 1) + if ((double)HOUSE_EDGE - Money.GetRandomDouble(gambler) > 1) { _riggedWin = true; } diff --git a/KfChatDotNetBot/Services/Money.cs b/KfChatDotNetBot/Services/Money.cs index 1796b33..968e647 100644 --- a/KfChatDotNetBot/Services/Money.cs +++ b/KfChatDotNetBot/Services/Money.cs @@ -8,6 +8,7 @@ using Microsoft.EntityFrameworkCore; using NLog; using RandN; using RandN.Compat; +using RandN.Distributions; namespace KfChatDotNetBot.Services; @@ -448,22 +449,13 @@ public static class Money /// Get random number double [0, 1] /// /// Gambler entity to reference their random seed - /// Number of random number generator iterations to run before returning a result /// A random number based on the given parameters /// - public static double GetRandomDouble(GamblerDbModel gambler, int iterations = 10) + public static double GetRandomDouble(GamblerDbModel gambler) { var rng = StandardRng.Create(); - var random = RandomShim.Create(rng); - var result = 0.0; - var i = 0; - if (iterations <= 0) throw new ArgumentException("Iterations cannot be 0 or lower"); - while (i < iterations) - { - i++; - result = random.NextDouble(); - } - return result; + var dist = Uniform.New(0.0, 1.0); + return dist.Sample(rng); } ///