OSK.Petra.Probabilities
0.1.0
dotnet add package OSK.Petra.Probabilities --version 0.1.0
NuGet\Install-Package OSK.Petra.Probabilities -Version 0.1.0
<PackageReference Include="OSK.Petra.Probabilities" Version="0.1.0" />
<PackageVersion Include="OSK.Petra.Probabilities" Version="0.1.0" />
<PackageReference Include="OSK.Petra.Probabilities" />
paket add OSK.Petra.Probabilities --version 0.1.0
#r "nuget: OSK.Petra.Probabilities, 0.1.0"
#:package OSK.Petra.Probabilities@0.1.0
#addin nuget:?package=OSK.Petra.Probabilities&version=0.1.0
#tool nuget:?package=OSK.Petra.Probabilities&version=0.1.0
OSK.Petra.Probabilities
This library provides a mechanism for adding and utilizing random probabilities in an application. This can be for normal random usage or for use with a probability roller to simulate dice rolls, chance checks, and similar random requirements for an application or game.
Usage
The central point is the IProbabilityRoller to handle probability and random checks. To setup and configure a roller with the dependency container, use AddProbabilities. Additionally,
a static factory class is available through Probability to create rollers independent of any DI containers or where such use cases are not viable for an application.
RNG support
Random generators can be created and used for a roller by implementing the IRandomNumberGenerator interface and injecting it into the dependency injection before calling AddProbabilities or by utilizing
the IProbabilityBuilder to inject the custom generator that way. Additionally, custom generators can be injected via the static factory for probability rollers as well. The library currently supports the
following random number generators:
Seeded: a basic RNG that utilizes a seed to generate random numbers. The caveat is that it can not easily be restored other than simply reseeding the generator. In some cases, this is undesired since the sequence of generation can become lost in a game replay -i.e. a turn that is saved and reloaded can then have a different outcome than if it was simply played throughPCG32: an RNG that utilizes a state value that can be restored and utilized for random generation. This allows continuing a sequence directly from where it was left off
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- OSK.Hexagonal.MetaData (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 120 | 7/7/2026 |