尊敬的大虾们:如何解决这个问题:满足一定条件下,以一定的概率触发某个事件

zodane 2005-09-15 03:06:02
如题。
我在编写游戏里的一个程序。
关于疾病 ,当 体力低于50%时 , 有40%的概率染上疾病
我把疾病事件写成了SUB , 概率可以用随机函数RND表示 ,但是整个语句如何表达呢?
疾病按严重与否共分5种。
染上病后,再根据各病种的概率判断得的是哪中疾病。
...全文
211 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zodane 2005-09-16
  • 打赏
  • 举报
回复
Randomize
这个是什么?
这样写有没有问题
randomize
select case rnd
case 0 to 0.01
call ill1
case 0.02 to 0.1
call ill2
case 0.11 to 0.25
call ill3
case 0.26 to 0.55
call ill4
case 0.56 to 1
call ill5 ??
province_ 2005-09-15
  • 打赏
  • 举报
回复
这样就可以了,为了易读的话这个概率判断还是放到疾病函数里面的好。
northwolves 2005-09-15
  • 打赏
  • 举报
回复
Private Sub ill()
Randomize
If Rnd < 0.4 Then '...
End Sub
zodane 2005-09-15
  • 打赏
  • 举报
回复
不是,表示体力小于总量的50%的情况下!
winehero 2005-09-15
  • 打赏
  • 举报
回复
你这个0.5也是个概率吗?如果是,也要用RND来处理。
zodane 2005-09-15
  • 打赏
  • 举报
回复
cdbl改成Cint
zodane 2005-09-15
  • 打赏
  • 举报
回复
啊? 多谢 ,那么可以写成这样的代码 是否可行?
private sub ill

if hp<0.5*hpmax and cdbl(100*rnd)<40 then call ill
???
行家们来看看?
winehero 2005-09-15
  • 打赏
  • 举报
回复
这方面没做过阿。。。
不过是不是可以这样,比如说1-100个数,随机抽取(使用RND),得到的数如果<=40,是否体现这个
40%的概率?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧