c# - 带种子的随机数

标签 c# algorithm unity3d

目前我正在为我在学校的项目开发一款使用 C# 和 Unity3d 的游戏

我正在尝试弄清楚如何根据特定数字生成随机数。我的游戏是这样运行的,例如你得到了一个基数“6”,我需要一些关于如何使用加法基于数字“6”生成可能的数字组合的技巧,例如它将生成数字 2+2 +2 = 61+1+4 = 63+3 = 6 等等

目前我正在使用这段代码生成随机数,但我不知道如何让它根据种子生成随机数

randNumber = Mathf.RoundToInt(Random.Range(0.0f,8.0f));

提前需要帮助抱歉只是个新手

最佳答案

从1到数字中随机抽取一个数字,将其添加到列表中,然后减去抽取的数字。重复直到数字达到 0。这是一个示例:

  static Random rand = new Random();

  private static List<int> GetRandomNums(int number)
  {
     List<int> list = new List<int>();
     while (number != 0)
     {
        int addend = rand.Next(1, number + 1);
        list.Add(addend);
        number -= addend;
     }
     return list;
  }

关于c# - 带种子的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481627/

相关文章:

c# - DocumentCollection.Open() 函数不工作 AutoCAD API

c# - C# 中的固定语句

c++ - 通过 C++ 在给定的未排序序列中找到第一个最长的升序或降序子序列

javascript - 显然我不能在预制件中保留游戏对象。我该如何解决这个问题?

c# - 在 Unity 3D 中使用触摸输入在地形上移动相机

c# - 将字节数组从 Unity C# 传递到 C++ 库方法

c# - 文件异常DRY原理C#

c# - 如何从 .Net 应用程序访问 CISCO Tapi

c++ - 如何在opencv中访问特定的kmeans集群

algorithm - 多边形包装 2D