欢迎光临散文网 会员登陆 & 注册

无名杀代码教程 01.1 请睁眼

2023-04-06 13:06 作者:玩大师4的醒醒  | 我要投稿

前言

这篇专栏是讲编程的方法,大佬也可以看看。本篇专栏不涉及代码内容,萌新也可以放心观看。

现象

我发现萌新写代码会有这几个问题:

1.为什么我引用的技能不能发动?我抄过来一个字都没改

2.为什么用event.player而不是player,player和event.player有什么区别?

3.target为什么不存在,我不是加了filterTarget吗?

我认为,产生以上问题的原因,是他们并不了解他们写的东西会有什么影响,他们只是在不明真相的情况下搬运、归纳。

实际上,代码是非常符合逻辑的,例如你定义了一个变量是1,后面都没有对其进行过操作,那么它的值一定还是1。

如果能睁着眼睛编程,看到此时这个变量的值和变化,就不会犯如此浅显的错误。初学者可能不太适应,可以多加些注释,等能力培养上来就可以摆脱注释了。

正文

.具象化代码

任何事物都有非常丰富的细节,不可能完全描述其外貌、物理特性 代码如果想表示一个事物,只能列举一个事物的主要特征。 比如 苹果:{ 颜色:红, 特征:削皮后放一段时间会变黑 } 如果你看到了这串代码,你应该想象出一个红苹果。因为作者想表达的就是这个,也希望你能想到这个。 从网页角度了解无名杀,这就是在页面上创建了很多"纸片人",还有一些卡片。"纸片人"抖一下代表受伤了,勾玉消失了代表扣血了。 如果想象成真正的战场,就能更好地体会作者想表达的画面。 再回头看那3个问题 1.为什么我引用的技能不能发动?我抄过来一个字都没改 这其实很好理解,把一个技能想象成一把宝刀,有的宝刀和主人签订了契约。你把它拿过来,宝刀看到不是自己的主人,就罢工了。 2.为什么用event.player而不是player,player和event.player有什么区别? player是指的你,event.player指的是当事人。很多事情你都是当事人,也有些事,你只是凑热闹的。比如看到别人受伤就哭(指某无名小卒) 3.target为什么不存在,我不是加了filterTarget吗? 问这个问题的,一般是在触发技里加了filterTarget。主动技的filterTarget表示在发动前选目标,但触发技是发动后再选目标,这俩是不能共用的。 另外,不是所有事件都有target。举个例子:伤害事件是没有target的,只有伤害来源和受伤角色 有target的,都是主动进行选择的事件。比如使用牌,对你的下家出杀,就是有目标的。还有发动技能,对你的下家发动强袭突袭急袭,也是有目标的。就举这两个例子,其实还有没讲到的,大家可以思考下。

.合理推测

Q:如果我写了个技能,和官方技能重名会怎样? A:后到的会覆盖先到的,相当于你用涂改带抹去了原来的文字,那么显示的就是你现在写的文字。所以技能名字要加前缀,防止重名。

三.

多思考

学习需要花时间积累,慢慢形成自己的知识网络。不要以为看了一篇文章,就能吸收所有的知识。不要把自己想得太厉害,可以短时间就学会,也不要太小瞧自己,认为自己学不会。

学习是自己的事,而不是为了谁而学习。当你学到知识了,成为大佬了,你应该去解答他们的问题。现在的你,可以胜任这份工作吗?

结语

这篇专栏其实我是不太满意的,后面写着写着就不知道怎么和"睁眼"扯上关系。我想表达的就是,在编程时要把抽象的对象,想象成真实的物品,并时刻"看"到这个物品的属性。这样可以有更多角度来思考问题,而不会简单地陷入死胡同,然后怀疑是无名杀的问题。

无名杀代码教程 01.1 请睁眼的评论 (共 条)

分享到微博请遵守国家法律