美文网首页Unitycsharpunity3D技术分享
Unity3d 完美的随机数的生成解决方案

Unity3d 完美的随机数的生成解决方案

作者: 雨落随风 | 来源:发表于2017-06-30 12:21 被阅读97次

在本文,你将学会如何选取一组随机数,这组随机数个体来看前后生成的值不能相同,从整体来看,这组随机数最多只能有2个值重复

这是一个个体和群组的全方位随机数获取解决方案

实现代码:

using System.Linq;
public int[] values = new int[6] { -1,-1,-1,-1,-1,-1};
int GetRandomIndex(int userindex)  
  {     
   int modelindex =Random.Range(0,6);  
   if (values[userindex] != modelindex)//确保此次取得与原先的值不一样
      {
          //返回的是一个类似数组
          var a = from k in values where k == modelindex select k;
                if (a.ToArray().Length <= 1)  //Linq确保数组内只能有2个值相同,改叭改叭允许有几个值重复你说了算哈
                    {
                          return modelindex;
                    }
        }
    return GetRandomIndex( userindex); 
}

知识点: Linq , 递归

相关文章

  • Unity3d 完美的随机数的生成解决方案

    在本文,你将学会如何选取一组随机数,这组随机数个体来看前后生成的值不能相同,从整体来看,这组随机数最多只能有2个值...

  • Python3 - 随机数

    问题 从一个序列中随机抽取若干元素,或者想生成几个随机数。 解决方案 random 模块有大量的函数用来产生随机数...

  • opencv 随机数生成器

    生成随机数 《learning opencv》ex7-1 解决方案 opencv提供了RNG类,能够非常方便的处理...

  • 生成随机数

    两个C函数 rand()函数生成的随机数是伪随机数,所谓伪随机数,指的是程序每次运行,生成的随机数都是不变的,生成...

  • 在以太坊生成随机数的几种方式(含代码)

    一、什么是随机数 随机数都是由随机数生成器(Random Number Generator)生成的。随机数分为”真...

  • PHP生成随机数

    PHP生成随机数,相信大家在做项目的时候是最常见的吧。js生成随机数,PHP生成随机数。 应用场景:用户注册/登录...

  • Golang生成随机数的方法总结

    生成区间随机数 生成指定区间随机数(包括纯数字/纯字母/随机)

  • Excel怎么生成随机数?

    Excel怎么生成随机数?如何生成指定范围内的随机数呢?可以在Excel中使用函数,生成随机数。 1、在单元格中输...

  • go生成随机数字和固定长度字符串

    生成随机数字 go可以通过math/rand包来生成随机数在生成随机数之前,需要一个种子,用于整个过程的初始化,否...

  • 无处不在的随机数

    目录: 什么是随机数 随机数分类 伪随机数生成器 真随机数生成器 各种语言中的随机数 使用系统时间作为种子是否安全...

网友评论

    本文标题:Unity3d 完美的随机数的生成解决方案

    本文链接:https://www.haomeiwen.com/subject/lkpccxtx.html