当前位置: 首页 > news >正文

Unity常用随机数算法

Unity的Random.Range介绍

有两个重载:

        如果参数存在至少一个浮点数那么将会触发public static  float Range(float minInclusive, float maxInclusive); 返回一个范围内的浮点数(包含首尾)

        如果参数都是整形则触发public static  int Range(int minInclusive, int maxExclusive) 返回一个整形(包含首但不包含尾);

 /// <summary>/// 在[start,end]整数数组中获取count数量的随机不重复数据(首位都包含)/// 例如[-1,100]拿5个不重复随机数可能拿到0,77,2,55,11/// </summary>/// <param name="start"></param>/// <param name="end"></param>/// <param name="count"></param>/// <returns></returns>/// <exception cref="ArgumentException"></exception>private int[] GetRandomArray(int start, int end, int count){if (start >= end){throw new ArgumentException("Start must be less than end.");}int legalCount = end - start + 1;if (legalCount < count||count==0){throw new ArgumentException("The count is greater than the number of available values.");}// 使用数组存储可用数字int[] availableNumbers = new int[legalCount];for (int i = 0; i < legalCount; i++){availableNumbers[i] = start + i;}int[] numbers = new int[count];//  洗牌算法for (int i = 0; i < count; i++){// 在每次迭代中,从 i 到 legalCount 范围随机选择一个索引int tempIndex = UnityEngine.Random.Range(i, legalCount);//0 1// 将随机选到的数字存入结果数组numbers[i] = availableNumbers[tempIndex];// 将选中的数字移到已选区域(位置 i),下次循环会来到后一个位置availableNumbers[tempIndex] = availableNumbers[i];}return numbers;}

http://www.lryc.cn/news/440856.html

相关文章:

  • dial unix /var/run/docker.sock: connect: permission denied
  • Prompt提示词技巧
  • 滑动窗口(6)_找到字符串中所有字母异位词
  • 【无标题】rocket
  • Maven国内镜像(四种)
  • Linux环境中如何快速修改 JAR 包中的配置文件
  • java高频面试题(2024最新)
  • WEB 编程:使用富文本编辑器 Quill 配合 WebBroker 后端
  • 新书出版,大陆首本NestJS图书《NestJS全栈开发解析:快速上手与实践》
  • 面试题:react、vue中的key有什么作用?(key的内部原理)
  • 基于python+django+vue的外卖管理系统
  • 初始分布式系统和Redis特点(
  • 计算机毕业设计 家电销售展示平台的设计与实现 Java实战项目 附源码+文档+视频讲解
  • Android RecyclerView 缓存机制深度解析与面试题
  • 管道缺陷检测系统源码分享
  • python定时发送邮件的功能如何实现自动化?
  • 工业机器人9公里远距离图传模块,无人机低延迟高清视界,跨过距离限制
  • IEEE-754 32位十六进制数 转换为十进制浮点数
  • XSS跨站脚本攻击及防护
  • 利用ClasserLoader来实现jar包加载并调用里面的方法
  • 【VUE】快速上手
  • 在 Docker 中部署无头 Chrome:在 Browserless 中运行
  • Meta-Learning数学原理
  • 【图像匹配】基于SURF算法的图像匹配,matlab实现
  • RocketMQ实战与集群架构详解
  • docker容器中的内存占用高的问题分析
  • 纯血鸿蒙NEXT常用的几个官方网站
  • A股上市公司企业创新能力、质量、效率-原始数据+dofile+结果(2006-2023年)
  • Selenium:开源自动化测试框架的Java实战解析
  • 搜索功能技术方案