设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1294|回复: 1
打印 上一主题 下一主题

[已经解决] 如何将一个数值转为为概率

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2013-8-23
帖子
69
跳转到指定楼层
1
发表于 2013-11-26 20:56:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
是这样的,在游戏里有个“威压”的技能,效果:释放魔力吓退敌人
这个技能有两个条件,
其一:自己的魔力必须高于敌人
其二:自己的魔力比敌人高出越多,成功率越大
我的设想如下:
为了方便,先设自身魔力=a,敌方魔力=b
①当a > b时,转向②
②成功率=(a-b)/a   即a与b的差值除以a本身,并把这个值当成概率计算
问题是如何把一个数值转化成概率?
例如:自身魔力=100 敌方魔力=20 那么成功率=100-20=80 成功率=80%

脚本:
    if[1]include?(obj.id) and obj.is_a?(RPG::Skill) #当发动1号技能的时候
     a = user.spi  #用a代替使用者魔力值
        b = self.spi  #用b代替敌人魔力值
      if a > b
        c = a - b
        c /= a
   *******************    <=这之后要怎么把c值转化成概率?
    self.add_state(7)#成功的场合,添加7号状态“害怕”
    end
   end

或者有什么其他更好的方法能解决这个问题,我想了一个下午都想不出来

Lv2.观梦者

狂気の月兔

梦石
0
星屑
276
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

2
发表于 2013-11-27 09:52:05 | 只看该作者
  1. if rand(100) < c
  2.   self.add_state(7)
  3. end
复制代码

点评

原来如此!我的脑筋就是转不过弯……  发表于 2013-11-27 11:51

评分

参与人数 1星屑 +55 收起 理由
怪蜀黍 + 55 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-13 10:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表