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

均匀随机掉落算法

游戏设计中真随机掉落的体验其实是很好不好的,加入触发概率是1%,100次中,一次都不触发的概率是

0.99^100 = 0.366032341273229

0.99^300 = 0.049040894071286

也就说有36.6%概率1次都不触发,300次中有4.9%的概率1次都触发。当出现这种事情的时候还是很难受的。


常规的保底算法是累计100次数不中后直接送一个,为了避免保底导致整体触发概率高于1%,又会对后掉落的结果进行调整。


另外一种处理方式是一次不中就提高下次的命中概率,运气好的还是会很早出,治标不治本。


我的解决方法是,用均匀随机数,确保100次内必出。

先产生0~99共100个数,构成一个数组,然后打乱它们顺序,产生一个随机数序列。

32,12,4,99,33,90,44,40,20,69,81.......

每次判断是否掉落时,取出数组中的最后一个元素(最后一个取的快),如果这个数是0,则说触发掉落,否则不触发掉落。当这个数组中空了,就重新生成一个序列。

公式化表达就是:如果触发概率是a分之b的话,则生成一个b个元素的[0,b)的不重复的整数随机序列,每次序列中取一个元素,如果值小于a,则触发。

缺点是随机序列要占内存。序列越长,保底体验越差(比如这个例子,如果用1000长度是序列,还是可能几百次都不中)。


http://www.mrgr.cn/news/57161.html

相关文章:

  • br实现大数据量的tidb机房迁移
  • 嘉立创EDA导入zip压缩文件以及常用快捷键
  • Laravel|Lumen项目配置信息config原理
  • 大厂面试真题-说一下推和拉的模式以及常见的使用
  • mysql表添加索引
  • HTTP协议介绍
  • 梦开始的地方 -- 两数求和
  • c++查看运行时类型
  • Thread类
  • react优化
  • Napkins:开源 AI 开发工具,实现截图或线框图到网页应用的快速转换
  • konva不透明度,查找,显示,隐藏
  • vTESTstudio系列14--vTESTstudio中自定义函数介绍1
  • RHCE时间服务器
  • Vscode + EIDE +CortexDebug 调试Stm32(记录)
  • Kamailio 网络拓扑案例分享
  • C++ set和map的模拟实现
  • Llama Tutor:开源 AI 个性化学习平台,根据主题自动制定学习计划
  • RTDETR 引入 MogaBlock | 多阶门控聚合网络 | ICLR 2024
  • ThinkPad中键打开网页关闭网页失灵
  • 【Linux】线程互斥与同步,生产消费模型(超详解)
  • Redis-05 Redis发布订阅
  • 得物App3D博物馆亮相“两博会”,正品保障助力消费体验升级
  • 10.23Python_matplotlib_乱码问题
  • 三菱FX5U PLC程序容量设置
  • vue3-06-html2canvas使用 + zoom、transform: scale图片缩放适配方案 + 动态引入静态资源(打包上线后也能使用)