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

Project1

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

[已经解决] 请教一下被攻击率【已解决】

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1040
在线时间
69 小时
注册时间
2017-9-5
帖子
79
跳转到指定楼层
1
发表于 2024-2-12 12:56:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 间桐樱 于 2024-2-17 12:05 编辑

想把被攻击率改成魅力值,做成与原先完全相反的效果,魅力值越高被攻击几率就越低,然后看着代码麻爪
  def tgr_sum
    alive_members.inject(0) {|r, member| r + member.tgr }
  end

  def random_target
    tgr_rand = rand * tgr_sum
    alive_members.each do |member|
      tgr_rand -= member.tgr
      return member if tgr_rand < 0
    end
    alive_members[0]
  end

Lv3.寻梦者

梦石
0
星屑
1040
在线时间
69 小时
注册时间
2017-9-5
帖子
79
2
 楼主| 发表于 2024-2-14 11:40:28 | 只看该作者
没大佬来啊
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1040
在线时间
69 小时
注册时间
2017-9-5
帖子
79
3
 楼主| 发表于 2024-2-16 17:44:54 | 只看该作者
没人来,想让全世界变猫奴好难
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
24317
在线时间
5052 小时
注册时间
2016-3-8
帖子
1620
4
发表于 2024-2-16 21:30:11 | 只看该作者
本帖最后由 alexncf125 于 2024-2-16 21:31 编辑

X越高Y就越低...这不是小学数学么?
1 / 100 = 0.01
1 / 200 = 0.005

只是ruby不能直接用1 / X
要用1.0 / X
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1040
在线时间
69 小时
注册时间
2017-9-5
帖子
79
5
 楼主| 发表于 2024-2-17 10:35:12 | 只看该作者
alexncf125 发表于 2024-2-16 21:30
X越高Y就越低...这不是小学数学么?
1 / 100 = 0.01
1 / 200 = 0.005

道理我懂,但不知道改哪儿
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
24317
在线时间
5052 小时
注册时间
2016-3-8
帖子
1620
6
发表于 2024-2-17 11:47:07 | 只看该作者
间桐樱 发表于 2024-2-17 10:35
道理我懂,但不知道改哪儿


你都知道"被攻击率"是叫tgr了
那当然是把member.tgr改成1.0 / member.tgr喽,即是
alive_members.inject(0) {|r, member| r + 1.0 / member.tgr }
以及tgr_rand -= 1.0 / member.tgr
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1040
在线时间
69 小时
注册时间
2017-9-5
帖子
79
7
 楼主| 发表于 2024-2-17 11:56:00 | 只看该作者
alexncf125 发表于 2024-2-17 11:47
你都知道"被攻击率"是叫tgr了
那当然是把member.tgr改成1.0 / member.tgr喽,即是
alive_members.inject( ...

原来如此,感觉自己好傻,脑子转不过来,之前就拽着负数试
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 10:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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