网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > .Net >

【搬运】【Unity开发小技巧】Unity随机概率扩展(

时间:2025-02-19 10:02

人气:

作者:admin

标签:

导读:做了以下两张图有助于理解,如果想调控概率的话直接修改概率数组即可,实战案例:http://t.csdn.cn/P9QKJ 其实在做概率类相关的界面效果的时候,我们真实做法都是在刷新界面前已经把结...

做了以下两张图有助于理解,如果想调控概率的话直接修改概率数组即可,实战案例:http://t.csdn.cn/P9QKJ

其实在做概率类相关的界面效果的时候,我们真实做法都是在刷新界面前已经把结果获取到了,然后根据结果去处理界面上的逻辑,一定要带着这个思想去理解以下内容

 

一.做加法

 1 /**加*/
 2 //rate:几率数组(%), total:几率总和(100%)
 3 // Debug.Log(rand(new int[] { 10, 5, 15, 20, 30, 5, 5,10 }, 100));
 4 public static int rand(int[] rate, int total)
 5 {
 6 int r = Random.Range(1, total+1);
 7 int t = 0;
 8 for (int i = 0; i < rate.Length; i++)
 9 {
10 t += rate[i];
11 if (r < t)
12 {
13 return i;
14 }
15 }
16 return 0;
17 }

 

二.做减法

 1 /**减*/
 2 //rate:几率数组(%), total:几率总和(100%)
 3 // Debug.Log(randRate(new int[] { 10, 5, 15, 20, 30, 5, 5,10 }, 100));
 4 public static int randRate(int[] rate, int total)
 5 {
 6 int rand = Random.Range(0, total+1);
 7 for (int i = 0; i < rate.Length; i++)
 8 {
 9 rand -= rate[i];
10 if (rand <= 0)
11 {
12 return i;
13 }
14 }
15 return 0;
16 }

 

运行100次的结果:

 

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_37310110/article/details/86139130

【敬畏能量 敬畏自然】
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信