文件名称:WeightedRandomization:简单加权随机化算法的实现
文件大小:13KB
文件格式:ZIP
更新时间:2024-06-24 06:01:54
C#
加权随机化 简单加权随机化算法的实现 加权随机化是当您想要呈现多个值时,它们之间的几率不同。 例如,考虑值 A、B 和 C。如果您决定需要这 3 个值之一,但您希望 A 出现 20% 的时间,B 40% 和 C 60%,那将是加权随机化。 每个值的几率可能不同,并且增加到 100%。 这些类将为您提供定义和实现您自己的加权随机化的工具。 我自己使用它来为 RPG 中的敌人类型创建模板,并根据模板定义的权重为统计数据分配点数。 简单地使用值类型作为通用参数初始化一个 WeightedRandomizer 实例。 使用您想要的值和您希望该值出现的几率调用 AddWeight。 对于您添加的每个值,几率可以是您想要的 0 到 1 之间的任何值,但在您尝试获取值之前,提供的所有权重的总和必须加起来为 1,以便保证有一个值出现背部。 添加所有权重后,使用 GetNext 方法获取下一个值。
【文件预览】:
WeightedRandomization-master
----.gitignore(3KB)
----README.md(1KB)
----WeightedRandomization.sln(1KB)
----UnitTests()
--------BadRandomization.cs(330B)
--------BasicTests.cs(4KB)
--------UnitTests.csproj(4KB)
--------Properties()
----WeightedRandomization()
--------SystemRandomizationProvider.cs(599B)
--------IRandomizationProvider.cs(377B)
--------WeightedChance.cs(643B)
--------WeightedRandomizer.cs(3KB)
--------App.config(182B)
--------Properties()
--------WeightedRandomization.csproj(3KB)