Project1

标题: 【回报社会】一些函数的纯事件写法,让技能伤害随心所欲 [打印本页]

作者: 小狼旺财    时间: 2011-4-24 15:26
标题: 【回报社会】一些函数的纯事件写法,让技能伤害随心所欲
本帖最后由 小狼旺财 于 2011-4-27 20:39 编辑

VX系统不像XP那样,技能能跟四个属性都挂钩(残念……),而且“固定伤害+攻击/意志关联”的系统只能作出线性的技能伤害来(再次残念……)。所以,曾经问了不少白痴问题的咱家,来回报社会了,下面为大家推荐咱家呕心沥血写出来的各种函数的纯事件写法:

特、写在开头的

一、反比例函数
                 ——百分比
                 ——分数表达
二、二次函数
                 ——最有爱的bx-ax²形式
三、指数函数、幂函数

四、烦人的对数函数

五、分段函数

六、对称函数

七、定积分理念


特、写在开头的
首先的首先,声明一下,接下来函数中的系数我统统用abc表示,为了更清楚明白,为了少打字。。
首先要做一些准备,比如戴上眼镜,给公共事件里腾出位置来。

开头的赋值事件和最后的结果处理事件很重要,有这两个看家,剩下的函数事件就跟计算器一般好使。。。

参量的准备:

这个是赋值事件:

这个是结果处理事件:



一、反比例函数
这个比较简单,不上图了,就是,y=x/a  带入常量a,变量x(比如主角等级),输出Y,然后结果处理。。

百分比:如果是a*主角HP上限/主角当前HP,就做成了生命剩余量越少,伤害越大的技能。
为了制约伤害过大(1000上限就剩1的时候),可以做一个条件分歧,伤害超过多少的时候变更算法(最简单就是变成常量)。

分数表达:众所周知,VX只能进行整数运算,要表示分数其实也很简单,比如5/3,就是先乘以5再除以3呗。。。


二、二次函数
y=ax²+bx+c
(一次函数当做二次函数中a=0的特殊情况)

二次函数可能是用处最大的函数,尤其的,当a是负数,b是正数,c=0的时候,

二次函数左边零点到对称轴(-b/2a)正好是一个早熟型的横增函数,你大可以把对称轴弄成等级上限后者某项属性上限,嘿嘿。

此时二次函数表达式为y=bx-ax² (a>0,b>0),这个式子的有爱程度接下来慢慢展现。



三、指数函数、幂函数
这个没啥可说的,我感觉实用价值不大,除非您有特殊系好,嘿嘿。上图了,

指数函数:y=a的x次方


幂函数:y=x的a次方




四、烦人的对数函数
啊,到这个了。。。这个函数花了我太多时间。。。。我现在只能用三个事件表达,哪位大大能帮我精简一下?

以a为底x的对数:

对数函数1:

对数函数2:

对数函数3:

此方法运算出的结果是进一法的近似结果,要提高精确度的话,可以把x作n次方,输出的y值除以n,
或者最后加个运算(2*y-1)/2。




五、分段函数
这个。。。这个。。。我要是说,您自己计算函数表达式然后用条件分歧慢慢弄,您会不会打我?



六、对称函数

这个也是没有图,因为对称不好做硬性规定,我用嘴说说吧。

某个函数y1关于另一个函数y2的对称函数:

1、首先用上面那一大堆事件算出y1和y2的值

2、用2乘以y2的值,所得的积减去y1

说完了,大家慧眼如炬,相信也看得出来,我这种对称方式并不是严谨的图形对称,而是函数值的对称,让早熟函数变成晚熟函数。

不过,函数值对称的好处就是可以用下面的定积分理念

PS:经计算y=bx-ax² (a>0,b>0)的上述方法对称函数为y=ax²(a>0),有爱吧。

PS:上面一条PS很重要。




七、定积分理念

做对称函数的时候我发现一个问题,比如y=bx-ax² 与y=ax²是对称函数,但在有用区间,y=bx-ax² 的函数值一直比y=ax²大,只有到最后两个函数值才相等。

这点是很悲剧,晚熟函数y=ax²就逃不脱一直悲剧的命运吗?

经过我很长很长很长很长时间的运算,草稿纸用了两大张(算到一半算错了,重新算,所以用了很多纸)。

只要将y=ax²中的a值增大一下,让两个函数在有用区间的定积分相等,就平衡多了,早熟型函数初期函数值大,晚熟型函数后期函数值大,但整个游戏中的平均值,两函数相等。

ps:我计算的结果为y=根号2*ax²(根号2=14142/10000)



发完啦,万岁~~~~~



小狼旺财于2011-4-24 16:29补充以下内容:
我表示我对于我能写出“没几个人能看完,看完也没几个人懂”的一堆事件,感到十分骄傲,并切实感觉到了高中数学的唯一意义。。。。。
作者: acrunty    时间: 2011-4-24 17:59
我是不明真相的围观群众,我来顶贴了,啊啊啊啊啊啊啊啊


acrunty于2011-4-24 18:00补充以下内容:
对了,还得说点别的什么的台词……比如说……“太好了,我正需要这个呢”
好工作完成了……
作者: 绝杀之夏夜    时间: 2011-4-26 22:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: phunmung5173    时间: 2011-4-26 23:03
很数学~
   看不懂=。=
作者: 小狼旺财    时间: 2011-4-27 20:37
我考虑着重发个简单点的,顺便上范例。。。。。
行不行。。。。
作者: SOU    时间: 2011-4-27 21:20
理解起来倒不困难,不过实际应用就比较诡异了
你没觉得用对数来算伤害是一种非常卧槽的事情么?
当然,还是可以用它来完成些数学作业神马的
作者: xzqcm111    时间: 2011-5-4 15:40
唔。。。。纯事件党表示需要范例- -|| 我需要仔细研究一下。。。。。
作者: wingan    时间: 2011-5-4 23:34
我是来打酱油的
作者: 240985764    时间: 2011-6-3 13:30
...作为小盆友表示看不懂……
求范例……
作者: xxxannn    时间: 2012-6-7 19:23
状态应该选不可抵抗吧……今天就在捣鼓事件伤害……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1