首页 > 其他 > 详细

[Unity菜鸟] 产生各不相同的随机数

时间:2014-06-26 12:47:25      阅读:362      评论:0      收藏:0      [点我收藏+]

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

  

[Unity菜鸟] 产生各不相同的随机数,布布扣,bubuko.com

[Unity菜鸟] 产生各不相同的随机数

原文:http://www.cnblogs.com/code1992/p/3809333.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!