带种子的随机数

时间:2014-06-30 00:48:08

标签: c# algorithm unity3d

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

我试图找出如何根据特定数字生成随机数。我的游戏就像这样运行,例如你给了一个#34; 6"的基数,我需要一些关于如何基于数字生成可能的数字组合的提示" 6"例如,使用加法会生成数字2+2+2 = 61+1+4 = 63+3 = 6等等

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

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

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

2 个答案:

答案 0 :(得分:1)

从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;
  }

答案 1 :(得分:0)

以下是伪代码: -

randlist = []

int target = 5;

while(target > 0) {

 int rand = Random(1,target);
 target = target-rand;
 randlist.add(rand);
}

print randlist

注意: - Random(1,target)会在(1,目标)之间生成一个随机数。