本帖最后由 德国球迷 于 2016-8-19 10:03 编辑
说实话这个教程十分简单,不过没有基础的人我建议还是可以仔细看一下。 ---------------------------以下是废话但是还是要写 距离上一个泰坦结构介绍的帖子过了大概有二十天了。看了一下大家的投票结果,想看基础教程的比例将近60%,当然这个比例有水分!因为我看见居然有大神也假装想看基础!
那么既然这么多人都想看基础,那么咱们就来说一说编程基础。 ---------------------------以上是废话但是还是要写
首先从脚本作者的角度来说,我觉得有三点是必须要掌握的,掌握了这三点,就算是能凑合写点东西自己玩了,这三点我会用通俗的话做分别介绍。这个帖子介绍第一点。
第一点:逻辑判断
逻辑判断,最常用的也就是"如果。。。那么。。。否则。。。"、"与"、"或"、"非"、大于、小于、等于、不等于、这八种,当然还有其它的,但是在这里我捡主要的说。原则上这些方法可以解决90%以上的问题。
"如果。。。那么。。。否则。。。":即 if+条件 then 执行逻辑 else 执行逻辑 ,用伪代码举个栗子
if (条件) then
(条件为真是执行逻辑)
else (条件为假时执行逻辑) end
这里的end作为结束标识符,表示这一层的“如果。。”判断结束。
拿伪代码再写一遍
if 老血盯上你 then
你被基
else 你没被基 end
在这里也许你并不知道老血盯没盯上你,但是系统是知道的,所以系统会根据你写的条件进行判断。
当然上面的例子你也可以转换为游戏中的例子,比如 if Boss血量 < 35% then 开启嗜血和爆发技能 else 继续平稳输出 end 这里你会看到一个符号“<”即小于号,翻译过来,也就是说先判断Boss血量是不是小于35%,如果是小于35%那么开启嗜血和爆发技能,否则继续平稳输出。 同理还有其它的判断符号,比如>(大于)、==(等于)、~=(不等于),这里切记判断是否相等时,用两个等号而不是一个,因为一个等号在编程语言里有其他作用(赋值)。 那么逻辑判断部分还剩下与、或、非,这三个东西。 与,即and,用于有多个条件时的判断,当and两端的条件同时成立,则进入真逻辑,否则进入假逻辑,举栗子第二次 if Boss血量 < 35% and 我可以开嗜血吗 then -------------判断条件 开启嗜血和爆发技能 --------------------为真逻辑 else 继续平稳输出 end -----------------------------为假逻辑 当Boss血量小于35%,并且我可以开嗜血时,那么开启嗜血和爆发技能,否则继续平稳输出。 这里如果细心看你会发现点问题,就是我不一定可以开嗜血,我不一定是萨满,法师或是猎人。这时候这个条件就不会成立,那么我就会傻子一样的一直执行继续平稳输出,知道BOSS死掉,然后我DPS就垫底了。这也是and判断的局限性。不过即使这样and还是能解决许多问题。 下面你会问,是不是用“或”就能解决这个问题呢?那么我们来讲讲。 或,即or,同样用于有多个条件时的判断,当or两端的条件至少有一个成立,则进入真逻辑,若两端都为假时,则进入假逻辑,那么我们把之前举了两次的栗子再举一下。 if Boss血量 < 35% or 我可以开嗜血吗 then ----------判断条件 开启嗜血和爆发技能 -----------------为真逻辑 else 继续平稳输出 end -------------------为假逻辑 这里可以看到我用的是or而不是之前的and。当BOSS血量小于35%,或者我可以开嗜血,那么开启嗜血和爆发技能,否则继续平稳输出。乍一看是不是似乎没问题了?但是其实仔细一想还是有问题,因为嗜血施放有时机问题,假如我是萨满可以开嗜血,但是Boss还满血呢,那么这条语句就会认真的在满血时候开嗜血了,因为“我可以开嗜血吗”这个判断为真,然后你就能听见YY里有人喊“这是谁啊?怎么把嗜血开了?”过一会你就会看到一行黄字“您已被移除出团队”。所以or也不能解决我们的问题。 那么我们只剩下“非”了。非,即not,用于取反。来我们第四次举这个栗子。 if not (Boss血量 < 35%) and 我可以开嗜血吗 then ----------判断条件 开启嗜血和爆发技能 -------------为真逻辑 else 继续平稳输出 end ----------------------为假逻辑 这里我们设定一个比较尴尬的情景,假设我是萨满,恰巧我又比较爱死,爱死以至于开场我就直接躺了。但是当Boss打到了还剩30%的时候,团长发现团队DPS不够了,于是决定把我战复起来打BOSS,这时候我被战复起来了。 如果此时我执行上面的语句,那么很不幸,DPS不够,1%灭团了,我又让团长飞了。为什么?我想都不用说你们也知道了,因为我用了not取反,原本要判断35%以下开嗜血,变成了35%和35%以上开嗜血了,可是我起来打的时候Boss只有30%血了,于是我平稳输出导致灭团。 讲到这里似乎我们的设想永远无法实现了。但是显然不是,这里我们提高一下,提出一个新想法,一个if判断不可以,那么用两个呢?这里引入一个新概念,嵌套。我决定把举了四次的栗子换个包装再举一次。 if Boss血量 < 35% then ------------第一层条件 if 我可以开嗜血吗 then ---------------第二层条件 开启嗜血和爆发技能 ---------------第二层真逻辑 else 开爆发技能并喊队友开嗜血 end ----------第二层假逻辑 else 平稳输出 end --------------第一层假逻辑 看起来栗子变了样了不是么?但是其实栗子还是那个栗子。 下面来解读一下: 当Boss血量小于35%时进入第一层真逻辑,这时候恰巧第一层真逻辑本身也是一个判断,判断我可以开嗜血吗?如果可以开,那么进入第二层真逻辑,即开启嗜血和爆发技能。如果不可以开,那么自己开启爆发技能并喊队友开嗜血。 当Boss血量不小于35%时,直接进入第一层假逻辑,保持平稳输出。 这下,我们的问题解决了,于是我又可以愉快地进入混本状态了.gif)
以上内容 可能会有疏漏 如果你真的觉得我写错了 那可能就是我写错了 另外不要吐槽我的排版
|