资源描述:
《数值设定——公式篇》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数值设定——公式篇值得拥有的资料是来自平时学习积累总结的有问题的地方肯定有的还请大家批评指正!数值设定--公式篇--WrittenbyMervin 数值设定的步骤很多本文只讲公式类型、特点及应用;牵涉到数值设定中常遇到的几种类型的设定:几率、经验、属性、技能; 本文由简入烦主体以公式的类型、特色来划分章节穿插几种类型的设定讲解 OKLet'sBegin一、加减乘除 线型为线性变化稳定比较容易找到规律预期后面的发展; 举几个例子:1每加一点力量近战物理攻击加1;每射击一次子弹数减少1;2每使用一次冰箭术熟练度加1达到2000时升级为2级;3宠物近战物理伤害=宠物物理攻击-目
2、标物理防御;宠物近战物理伤害=宠物物理攻击*目标物理吸收比;近战物理技能伤害=((武器伤害+技能附加)*技能增幅)*目标物理吸收;4血击(技能):在HP<50%时将自己所有HP化为伤害攻击目标使用后生命值为1;伤害=(基本伤害+当前HP)*(1+技能等级调整值+10*当前HP/最大HP); 总结:>加减的运算最为直观一眼就可以发现规律甚至潜意识;>乘除的运算容易简单、直接的对数据造成跳跃性而常常是有意识、有规律的跳动;>混合运用时可以实现很多有特色的功能;二、幂函数 幂函数f(x)=x^i;对比函数g(x)=x; 当0g(x);[1,∞
3、]区间内f(x)1时[0,1]区间内f(x)g(x);先缓后急; 当i<0时[0,1]区间内f(x)逼近无穷大;[1,∞]区间内f(x)逼近无穷小; 示例曲线图如下: 举例应用:1升级经验=ceiling(1000*等级^(2/3),1);(ceiling=向上取整)2消除类休闲游戏(如宝石迷阵)COMBO得分=100*本次宝石个数*2^combo次数;3魔法攻击=智力值+[int(智力值/10)]^2;(int=向下取整)4f(x)=1/x的应用:*血击伤害Ver2.0=(基础伤害+当前HP)*[
4、14*技能等级调整值*当前HP/(最大HP-当前HP)];*攻击速度=50/{200-[(250-敏捷-灵巧/4)/50*(200-基本速度)]};5命中率=100/[1+(150-敏捷)];6魔法回复(点/秒)=2+(2+精神/50)^2; 总结:0前期容易后期难是普遍的经验值递加设计原则i<1时具有这种特性;1i>1造成的连锁递增效应是用来奖励的上好措施但缺点是有限区间内拓展;2某些需要积累到一定程度才能体现出优越性的属性设定往往要用到f(x)=x^i(i>1)的先缓后急的特性3f(x)=1/x常常以a/(b-x)的形式出现常常用来实现具有临界值的属性设定且x多有取值限制需要
5、很好的前期规划;4接上1/x的x取值区间常定义在[1,max]有时也会进入[0,1]这一段一般都是通过将[1,max]区间进行除算得到新的[1/a,max];可以产生新的临界点;5幂数的计算相对复杂不适合做心跳计算;指数函数极少应用;三、数组、数列 有限个具有相同变量名的相同类型的下标变量的有序排列叫做一个数组; 一元数组:{a1,a2,...,ai,...,an} 二元数组:{a(1,1)a(1,2)a(1,3)a(2,1)a(2,2)a(2,3),...,a(3,3)} 按一定次序排列的一列数叫做数列;有穷数列;无穷数列;n项合Sn 等差数列:ai-a(i-1)=
6、nSn=(a0+an)n/2 等比数列:ai/a(i-1)=nSn=a0(1-q^(n-1))/qq=ai/a(i-1) 斐波那契数列:a(i+1)=ai+a(i-1)a0=1a1=1 {1123581321345589144233...}*假设一对初生兔子要一个月才到成熟期而一对成熟兔子每月会生一对兔子那么由一对初生兔子开始12个月后会有多少对兔子呢?144对*二叉完全树的叶子数按斐波那契数列增长;*连续10个斐波那契数之和必定等于第7个数的11倍 数列是函数的离散形式;数组是离散的值的集合; 举几个例子:11~5级升级每次获得3点属性点而后每5级多获得1点即6~1
7、0级4点11~15级5点......50级后每4级一个跳跃;2本级升级所需经验=上级所需经验+本级等级数*10000;3休闲小游戏COMBO得分Ver2.0:Combo1=宝石数*c1Combo2=宝石数*c2Combo3=宝石数*(c1+c2)...Combo(i)=宝石数*(c(i-2)+c(i-1));其中c1=2,c2=3; 总结:>对于一些不方便、不必要用公式来表达的数值采用数组直接存取方便快捷;(你也可以说这是索引表)>对等差、等比这种最基础的数列进行一