数据处理与变量
序言:1. 自帝国有史以来,资源之间的转换都是靠市场来完成,但如果电脑也要换东西呢?用AI吗(不知能否)?能不能用触发呢?……
答案是肯定的,就是“数的分解”。也正因为这一基本的数据处理技术,才衍生了以下的“错位求数”和“变量”技术……
2. 吃饭,对人是多么重要。所以,大家都喜欢把它加进战役系统里,但……要如何确定人数呢?200上限,难道要用200个触发吗?没办法,只能用20个触发来粗略确定了。
不过现在有一种更新的办法来精确地确定人数了……
3. 帝国有4X8=32的资源数据区,看起来好象很多。但实际上却有他的局限性,因为你不太可能完全让每个玩家都没有资源。例如,你可以让你的地图上没有人种田吗?
当然,通常情况下,我们不会陷入数据区不够的困境。但当你看了“均递升级系统”和“可逆触发系统”后,有何感想呢?(32-4)/2=14,多么少啊……而如果你想建象三国志那样的战役,那……
于是,变量变得越来越重要了。那么,如何用最少的触发建立变量呢?……
数的分解:
如果有100黄金,要换成100木材,用触发如何解决呢?一般来说,我们会建100个触发,条件是“拥有1金” “拥有2金” “拥有3金”……但是,这种结构的触发系统在执行时只有一个触发启动。能不能有一个系统的利用率较高呢?
于是,就要用到数的分解。其实,我们可以设定:
[条件“拥有50金”效果“除去50金”“增加50金”]
[条件“拥有25金”效果“除去25金”“增加25金”]
[条件“拥有12.5金”效果“除去12.5金”“增加12.5金”]……
不要怕触发会乱,帝国里的触发的执行是从上到下的,也就是一个接一个执行。这个在以后还要用到。
当然,12.5是不可能实现的。但是,我们可以反过来想啊。1、2、4、8、16、32……反过来就是……32、16、8、4、2、1。Great!这下就好办了,100?小意思:1、2、4、8、16、32、64、128。才8个触发,8个啊!100个变成8个了!那1000呢?决对不是80个,而是11个:128、256、512、1024 。以此类推,那……
128、1024是不是看来很熟,那是二进制算法的数。于是我想,这可能就是电脑为什么用二进制的缘故吧……
错位求数:
在发现了“数的分解”后,我就想,能不能把他的道理应用在单位的计算上。但是,这是不可能的,因为你不能把单位删掉,就算可以,也不可能准确的删。
我们先来看看传统的粗略计算的办法。比如100上限,我们会建10或20个触发来粗略计算。如果要精确,我们就不得不建100个触发。但是同样的,这种结构的触发系统在执行时只有一个触发启动。能不能有一个系统的利用率较高呢?
那么,先来看看这个。要确定13,我们可以这样:
[∞“拥有1”“增加1”]
[∞“拥有10”“增加1”]
然后,我们再把13进行10次的减1,增加的数不就是13。Yeah!是这样了。对于100上限,我们可以建立10个触发再进行10次的减1,那么N≤110就可以确定。如果200上限,应该是把200开根号,大约是14个触发,……
于是,在单位数量不变的情况下,可以精确的计算出来,而计算的时间是由几次减1决定的。如果数量变化,也不会出现大误差,这正适应了吃饭这一功能的要求。
变量:
根据“分解”的原理,我们只需要在地图上的15个特定点上就可以表示N≤65535。那么如何进行最基本的加减法运算呢?
我们先来看看加法的原理:
由于计算的需要,我们要用到3个行:,代表数据,为要加进的数据,为辅助数据行。
[此贴子已经被作者于2003-10-3 11:25:03编辑过]
"你移动了群山"---英国数学家对陈景润的赞叹 数理之公毕竟是数理之公...
我都看不懂..........
就连他发给我的哨兵效果,我也看的一楞一楞的.... 只看了开头,,觉得有点问题啊,,
比如说数得分解, 长枪兄是说, 比如t时刻, a玩家有n黄金, 自动换成n木头?
这样写就成了:
触发:条件:玩家a有1黄金, 效果:进贡gaia 1 黄金, gaia给a 1木头(循环)
只用1个触发啊....
你把数用转换进制得方法计算, 想法不错,,只不过太麻烦...
另外,你得方法用几进制得都没有关系....
计算机用2进制代码是因为最基本得晶体管只有两个状态1和0,
所以,1个晶体管可以代表两个数字, 两个晶体管可以代表4个数字, 三个晶体管可以代表8个数字,,,,和2进制数相同.
比如说数得分解, 长枪兄是说, 比如t时刻, a玩家有n黄金, 自动换成n木头?
这样写就成了:
触发:条件:玩家a有1黄金, 效果:进贡gaia 1 黄金, gaia给a 1木头(循环)
只用1个触发啊....
有个问题..就是...换的速度慢.. 有两种解决方法
1--放电影,转移注意力
2--把1黄金改成2黄金,速度提高1倍,最后加一个如果有1黄金得触发.. 干脆改成5黄金....最后加个1黄金的..速度更快 动动脑子,,5黄金得,还得加4黄金得,3黄金得,2黄金得,和1黄金得... 不用加四得,三得,二得..
举个例子
304个金子...
300除5=60...秒
剩下4,4除1=4秒,差不了多少 也行. "比如t时刻, a玩家有n黄金, 自动换成n木头?
这样写就成了:
触发:条件:玩家a有1黄金, 效果:进贡gaia 1 黄金, gaia给a 1木头(循环)
只用1个触发啊...."
"有两种解决方法
1--放电影,转移注意力
2--把1黄金改成2黄金,速度提高1倍,最后加一个如果有1黄金得触发.."
"不用加四得,三得,二得..
举个例子
304个金子...
300除5=60...秒
剩下4,4除1=4秒,差不了多少"
-_-|||||||||,我撒泡尿也没这么久。
这是为高速度系统而设计的,当然不可以这样啦。或许,只有当你们需要高速度系统你们,你们才会知道它的重要性。
而且,你们可以想想,除了1、2、4、8……的结构触发最少外,还有哪个结构触发最少?
“你把数用转换进制得方法计算, ”
我没有用“转换进制得方法计算”啊?我只是合并而已,看来,我的文章还是写的太烂了。
“想法不错,,只不过太麻烦...”
当然麻烦拉,不过不够用的话,也没办法……
“另外,你得方法用几进制得都没有关系....”
会吗?我不这样认为,请赐教……
“这些2、1是代表单位a、b吗?”
不是单位,而是区域,你没看演示吗?天哪……
“另外我觉得似乎可以用算盘的方式来运算,理解方面比这个方法简单,而且功能也多些,不过触发却麻烦了~~~”
多了什么功能?说清楚一点……
不过,触发如果麻烦了,就不是好办法……一句话,触发至上! 5^5, 5^4, 5^3, 5^2, 5^1, 再循环1黄金得触发 "5^5, 5^4, 5^3, 5^2, 5^1, 再循环1黄金得触发"
5\25\125\625\3125……?????可以在1秒内完成吗?????????
“晕~~我说的2、1在引用时是加了下划线的,而表示区域的应该是这些吧~~”
Sorry!2、1是表示区域内有多少单位……
“算盘记得是可以算乘除法的,不过算法我忘了,不知道可否用在触发上~~~
算盘的区域比你的方法多,因此触发自然也多~~~”
哪位大侠懂啊?请赐教…… 对于更大得数, 比你得2,4,8,16快.... 快??
2,4,8,16可以在1秒内完成,5\25\125\625\3125可以吗?
等等,你有没有看清我的文章和话,或者看过演示? 我大约明白你的意思......
你的意思是说把再大的数也在一秒内完成...是吗~~ 是啊……
天使你也没看演示吧……我最近发现翔鹰里的人大多有这种习惯。 以下是引用骑士不怕长枪在2003-10-4 20:55:19的发言:
快??
2,4,8,16可以在1秒内完成,5\25\125\625\3125可以吗?
等等,你有没有看清我的文章和话,或者看过演示?
我给长枪兄的演示改了一下, 你现在可以看看是谁的快了,,
另外,你的触发有bug,,
ps,此外还有一点要请教一下枪兄, 怎么让gaia进贡而不显示文字? 忘上传了.. 以下是引用鬼火在2003-10-5 7:44:18的发言:
怎么让gaia进贡而不显示文字?
利用这符号 [ - ]
也就是负号,
复制,
触发里面
贡品
进贡 [玩家1]
纳贡
金子 [-N]
注:[-]用复制,N=你想进贡的数量~~