游戏中几种概率设计
来源:互联网 发布:linux进去编辑模式 编辑:程序博客网 时间:2024/06/04 18:38
游戏中常见的4种概率设计
1、常规做法,直接配置概率,程序直接判定
2、在1的基础上,加个保底次数,当连续不发生的次数高于保底时,强制发生
3、设置基础概率,事件不发生概率翻倍
4、设置数组,将事件发生概率变成数组元素
设定预计平均发生概率为1/20(20次发生1次),模拟10w次方案1~3后得结果(方案4就不模拟了)
附上各方案的模拟代码
Option ExplicitSub Propty1() '设定概率,直接比对 Dim stat(1 To 10000, 1 To 10) As Double, i As Integer, j As Integer Dim a As Double, count As Long Randomize a = InputBox("输入成功率", "成功率", "0.05") For i = 1 To 10 For j = 1 To 10000 count = 1 Do While Rnd() > a count = count + 1 Loop stat(j, i) = count Next j Next i Sheets("直接概率").Range("A1:J10000") = statEnd SubSub Propty2() '在1的基础上,设定保底次数 Dim stat(1 To 10000, 1 To 10) As Double, i As Integer, j As Integer Dim a As Double, b As Integer, count As Long Randomize a = InputBox("输入成功率", "成功率", "0.035") b = InputBox("输入保底次数", "保底次数", "40") For i = 1 To 10 For j = 1 To 10000 count = 1 Do While Rnd() > a And count < b count = count + 1 Loop stat(j, i) = count Next j Next i Sheets("加保底").Range("A1:J10000") = statEnd SubSub Propty3() '不成功几率翻倍 Dim stat(1 To 10000, 1 To 10) As Double, i As Integer, j As Integer Dim a As Double, count As Long Randomize a = InputBox("输入成功率", "成功率", "0.0038") For i = 1 To 10 For j = 1 To 10000 count = 1 Do While Rnd() > count * a count = count + 1 Loop stat(j, i) = count Next j Next i Sheets("不成功几率翻倍").Range("A1:J10000") = statEnd Sub
0 0
- 游戏中几种概率设计
- 网页游戏中随机概率设计探讨
- 游戏设计的概率统计入门
- 数学中的游戏:概率
- 游戏中的概率问题
- OJ1818《概率游戏》题解
- 游戏中的随机概率
- 游戏掉落概率算法
- 游戏概率测试
- 赌博游戏 概率dp
- 关于概率要素和统计学要素在游戏设计中的运用
- 设计概率神经网络:newpnn
- 抽奖系统概率设计
- 挖雷游戏的概率
- 挖雷游戏的概率
- 挖雷游戏的概率
- 骰子游戏的概率计算
- 挖地雷游戏的概率
- OkhttP的简单使用笔记
- Google C++编码规范——2.命名规则
- Android:Intent 显示和隐式
- 同一String设置不同颜色
- Unity 游戏框架搭建 (四) 简易有限状态机
- 游戏中几种概率设计
- YOLO源码详解(五)- YOLO中的7*7个grid和RPN中的9个anchors
- HDU3667 Transportation(spfa费用流+拆边)
- Android进阶——多线程系列之四大线程池的使用介绍
- 4.Draftjs 学习笔记-Decorators
- [GI系列]0.0-下一阶段博文说明
- Mybatis中使用Association元素进行一对一级联查询
- Unity 游戏框架搭建 (五) 简易消息机制
- ss按时发翁二无热若无