哈喽!各位想入坑或者已经入坑的未来大佬们好!我是纯洁白!
这一章,咱们来康康官方教程关卡的第二关,咱们打开 2.升级控制器
既然名字是叫升级控制器,那肯定和控制器有关对吧(隔这隔这呢)
Controller(控制器):
大多数房间里都有一个被称为房间控制器(Room Controller)的特殊装置,如果想要在房间里建造设施,首先需要控制这个房间的控制器,且控制器无法被攻击或摧毁。
控制器在一段时间不执行升级动作会降级,降到0就会变成中立。
详细数据:(energy = 能量)(ticks = 游戏时间)
而且控制器的等级会解锁建筑,还会增加可建筑数量,这个就不细说了,大家可以自行去文档中查看。
那这么看起来,这个控制器还真是重要啊!那我们就来看看怎么升级控制器吧!
打开教程,第一件事,官方就让我们去创建一只名为'Upgrader1' 的creep
这个代码大家看了上一篇教程应该已经是非常容易看懂了,就不多做赘述了。
诶?!
创造出来的这个 'Upgrader1' 怎么采集能量去了!它做着和 'harvester1' 一样的工作!
原来是main里写着
不管叫什么名字的creep,都赋予了 采集能量的模块 让它去执行。
那可不行!咱们得看看有什么解决办法!
官方给出的解决方案是,每个creep都有自己独立的memory(内存),给它们的内存 写上不同的内容就可以很容易的去区分他们(为什么不用名字呢?因为每一只creep的名字必须是独一无二的(不能重复),如果要遍历所有creep,从中找出指定的几只creep是比较麻烦的事,但内存里面写入的内容可以一样,所以可以简单的将creep区分出来。)。
写入之后,还是不够,因为目前我们只有 'role.harvester' 的模块,看看官方怎么说。
果然是要写一个新的模块呢,看起来和采集能量的模块没多大区别,让我来备注一下,更便于理解。
采集能量 —— 升级控制器 —— 采集能量 —— 升级控制器 —— .... 一直循环
(其实这里给出的代码只是官方给出的最简单的一个示范,只能简单的运转起来。
这里给出的逻辑是,背包里为空就去采集能量 ,采集一次 ,背包不为空 ,就去升级控制器
这样会导致,背包里只装了采集一次的能量,就直接去升级了,这样会非常浪费时间。
当然这个是后话了,咱们后面的教程再说)
很好,工作内容写好了,但是这样还不够,我们还得 去main里面引入刚刚写的 升级模块。
官方给出了这样的代码,我直接翻译一下。
这样就好了,去遍历所有creep,找出内存里role写着咱们想要内容的creep,然后分配适合的工作给它。
输入之后,'Upgrader1' 就动起来了(动图看起来循环有点问题,并不是升级会来回走动,这是把 去升级的走路 和 去采集的走路 循环在一起了。其实中间是断开的)
升级几下之后,咱们第二关的教程就结束了~
是不是很简单,这一章学会了给creep的memory写入内容,通过索引memory的内容来区分不同的creep,从而赋予不同的工作模块。
那这一章就这样了!咱们下一章,第三关再见!
上一章: 第二章 - 练习教程(1)
下一章: 第四章 - 练习教程(3)