找回密码
 点一下
查看: 1931|回复: 3

关于希瓦的“多次使用触发器动作不冲突的”多人的一些解释

[复制链接]
发表于 2012-3-9 13:18:31 | 显示全部楼层 |阅读模式
多人教程 BY 希瓦
这是希瓦的教程,我进去学习时发现在后面的

For Integer 从 1 到 Count, 做动作
Loop - 动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
(到期的计时器) 等于 Timer[Integer]
Then - 动作
计时器 - 删除 TimerWindow[Integer]
计时器 - 删除 Timer[Integer]
英雄 - 立即复活 Hero[Integer] 在 ((Hero[Integer] 的所有者) 的游戏开始位置) , 显示 复活动画
设置 Timer[Integer] = Timer[Count]
设置 Hero[Integer] = Hero[Count]
设置 TimerWindow[Integer] = TimerWindow[Count]
设置 Count = (Count - 1)
跳过剩余动作
Else - 动作

前面则好理解,但是对于:
设置 Timer[Integer] = Timer[Count]
设置 Hero[Integer] = Hero[Count]
设置 TimerWindow[Integer] = TimerWindow[Count]


可能都会不知其所以然了,其实这种使触发器多次使用的方法在其他的C++什么的语言都是常用的,不过用法不同。名字叫做:堆栈。

我们有         a a a a a a 六个赋值的变量,
其count编号为  1 2 3 4 5 6
这是a(2)已经使用,需要删除   
    a a a a a a
        1 2 3 4 5 6
因为每释放一次count+1的缘故,此时count = 6  专有的名称叫做栈顶,
我们用a (6) 来把a (2)代替,这样a(6) 成为了一个无用的值,我们无需担心他的作用,因为count = count + 1再次到达这个值时,原先的赋值会被覆盖,这样a(6)就到了a(2)所以需要count - 1 把count的顶端减到 count = 5 这样当某个值再次使用时被赋值的即a(5) 希望能够帮助到看了希瓦的对此一笔带过却很重要的解释不理解的人。
发表于 2012-3-9 15:47:17 | 显示全部楼层
其实这个不需要用这么专业的属于来解释了……
说简单点,就是前排有同学要回宿舍,后面没有抢到好座位的同学可以挪到前面来……
当然了,也可以整体移动,不过工作量就比移动最后一个大多了……
回复

使用道具 举报

发表于 2012-3-13 10:57:44 | 显示全部楼层
不太懂~!!!
回复

使用道具 举报

发表于 2012-3-13 22:48:48 | 显示全部楼层
话说栈不是先入后出吗,汗……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-21 20:08 , Processed in 0.146431 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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