|
|

楼主 |
发表于 2009-1-22 13:51:00
|
显示全部楼层
Re:游戏逻辑中的“不可能”
接下来讨论一下非完美但是效果不错的一些解决方案。
我们说"复杂的因变量"不能直接决定, 那么只要它不是复杂的因变量, 那不就能够决定了吗?
以上面例(2),也就是攻击力的例子来说,我们可以给出好几种解决方案,比如:
>加上 一个额外的参数
>乘以 一个额外的参数
>用另一个变量,直接指定数值
实际上这几种方案都是等价的, 都等价于最后一种方案. 为什么呢?
AP == 计算实际AP() * ( 强制指定AP (*) 计算实际AP() )
AP == 强制指定AP
* 表示一个运算, (*) 表示逆运算
注意这里有一个问题: AP现在变成,只由 强制指定AP 决定了. 那么角色身上的装备和角色肉身的攻击力不就是都废了吗? 所以,我们还需要一个bool变量,指定----是否需要强制指定攻击力:
AP == 强制指定AP , 如果 标志==true
计算实际AP() , 如果 标志==false
现在我们可以把这个方案,推广到一般情况,也就是说所有"复杂因变量"中:
- 假设一个因变量 y == f(x1,x2,...,xn), 那么我们可以这样:
- y == f(x1,x2,...,xn) , 如果 标志==false
- 强制指定值 , 如果标志==true
复制代码 |
|