Unity 产生各不相同的随机数


1. 网上很多方法都说用时间种子来解决,但是在极短的时间内,这种方法没效

Random r = new Random(DateTime.Now.Millisecond);
 
Random Counter = new Random(unchecked((int)(DateTime.Now.Ticks >> ctr)));
 
Random Counter = new Random(System.Guid.NewGuid().GetHashCode());

2. 用Random结合Hashtable才完美实现我想要的效果

    以下是随机生成3个小于3的各不相同正整随机数的代码,生成的结果是0 1 2, 2 0 1等,而不会出现像 0 0 1 这样有重复数的情况

string testStr;
    void OnGUI()
    {
        if (GUILayout.Button("产生随机数"))
        {
            testStr = "";
 
            Hashtable hashtable = new Hashtable();
            System.Random rm = new System.Random();
            int RmNum = 3;
            for (int i = 0; hashtable.Count < RmNum; i++)
            {
                int nValue = rm.Next(3);
                if (!hashtable.ContainsValue(nValue))
                {
                    hashtable.Add(nValue, nValue);    //Add(key,value)
                    testStr += nValue + " ";
                }
            }
        }
        GUILayout.Label(testStr);
    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 C#中几种换行符,不同操作系统各不相同【转】 算法题:创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值。同时,要求元素的值各不相同。 C#在一段数字区间内随机生成若干个互不相同的随机数 python随机产生4个互不相等的随机数 PHP随机产生10个100以内互不相同的正整数按从小到大的顺序输出 python3生成一个含有20个随机数的列表,要求所有元素不相同,并且每个元素的值介于1到100之间 P2141 珠心算测验 题目描述 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和? 最近老师出了一些测验题,请你帮忙 C语言 将产生的随机数存入数组,数据不能相同 java随机生成n个不相同的整数 小明买了一些彩色的气球用绳子串在一条线上,想要装饰房间,每个气球都染上了一种颜色,每个气球的形状都是各不相同的。我们用1到9一共9个数字表示不同的颜色,如12345则表示一串5个颜色各不相同的气球串。但小明希望得到不出现重复颜色的气球串,那么现在小明需要将这个气球串剪成多个较短的气球串,小明一共有多少种剪法?如原气球串12345的一种是剪法是剪成12和345两个气球串。
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM