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

Project1

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

[已经解决] 分散度问题

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

跳转到指定楼层
1
发表于 2014-10-25 12:25:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
因为游戏需要,给角色添加了最小伤害和最大伤害两种属性(类似分散度,但是最小伤害和最大伤害可以不同,即最小伤害80最大伤害150的时候伤害在基础伤害的80%-150%之间,而VA默认的分散度不能分开设置),然后问题来了···在game_battler里面找到了分散度却没看懂
  1. amp = [damage.abs * variance / 100, 0].max.to_i
复制代码
的意思?···
  1.   #--------------------------------------------------------------------------[url=home.php?mod=space&uid=336539]@VIPArcher[/url] 求解释0.0
  2.   # ● 应用离散度
  3.   #--------------------------------------------------------------------------
  4.   def apply_variance(damage, variance)
  5.     amp = [damage.abs * variance / 100, 0].max.to_i
  6.     var = rand(amp + 1) + rand(amp + 1) - amp
  7.     damage >= 0 ? damage + var : damage - var
  8.   end
复制代码
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-10-25 12:28:46 | 只看该作者
  1.   def apply_variance(damage, variance)
  2.     amp = [damage.abs * variance / 100, 0].max.to_i # 获取最大的偏差值
  3.     var = rand(amp + 1) + rand(amp + 1) - amp       # 获取实际的偏差值
  4.     damage >= 0 ? damage + var : damage - var       # 计算最终的伤害值
  5.   end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
3
发表于 2014-10-25 12:54:15 | 只看该作者
C神你直接说是war3一样的攻击力最小值 - 最大值我觉得更有助于大家理解呢……
在def apply_variance(damage, variance)
下面 @actor_id可以分人物写不同的离散式吗?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

4
 楼主| 发表于 2014-10-25 15:43:57 | 只看该作者
三途亚梦 发表于 2014-10-24 19:54
C神你直接说是war3一样的攻击力最小值 - 最大值我觉得更有助于大家理解呢……
在def apply_varian ...
  1. amp = [damage.abs * variance / 100, 0].max.to_i # 获取最大的偏差值
复制代码
按照这个情况来看是0改成最小伤害(最小攻击),变成
  1. amp = [最大, 最小].max.to_i # 获取最大的偏差值
复制代码
就行?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
5
发表于 2014-10-26 10:23:12 | 只看该作者
本帖最后由 三途亚梦 于 2014-10-26 10:26 编辑

虽然过这么久才来吐槽很不好意思……

但是chd菊苣你需要的 最小攻击和最大攻击 基本上可以理解成atk属性基础值浮动值。
这个用技能的离散度是无法解决的。

默认系统下的人物能力值是一个固定值,不存在浮动率,你需要通过其它手段来实这个浮动率实现。
我这有个思路你可以参考。

------------------------滑腻腻的分割线------------------------

将人物的能力值设计成 MinAtk 和 MaxAtk
这样人物就能有最小和最大攻击力。

然后技能公式中所有原来atk的部分这么写
  1. MinAtk + rand(MaxAtk - MinAtk + 1)
复制代码
这样在计算中差不多基本能达到你需要的效果。

接下来你只要在人物状态窗口中把能力值的描绘方法再排版一下就可以。

当然这只是思路,工程量大小我不负责。

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

6
 楼主| 发表于 2014-10-26 14:36:16 | 只看该作者
@ taroxd结贴吧···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 23:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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