逻辑处理器简介
本帖会简单介绍v6大版本中逻辑处理器的用法
对应游戏版本为2020年国庆节v107版本
当前版本处理器还未汉化,有三种处理器,名字为processor, 具有不同的范围和运行速度,速度通常都没问题,主要是范围。
首先介绍一些必备的概念:
变量: 一个名字,里面保存了数据,默认通常是result,能自己起,可以是中文,不要用数字开头。
值: 变量中保存的内容,主要有三种,可能是一个数字,可能是一段文字,也可能是一个单位,建筑或者小兵。
指令:一条具体的命令,比较像数学上的函数f(x)。用来对变量进行操作,指令可能需要零个或多个变量作为参数,并产生一个结果。指令从上到下顺序执行。
连接:选中处理器后,点击其他建筑就可以与其他建筑连接,同时会出现一个名字,这个名字是一个变量名,代表了所连接的建筑。
下图为当前版本的指令列表:
1. set(设置)
set指令用来对变量赋值,等号左边是变量名,右侧可以是另一个变量,或者是一个具体的值,一个数字或者一段文字, 文字是双引号中的内容。
2.operation(运算)
operation指令用来对变量进行数学运算,默认是加法,点击加号可以修改运算符,支持运算符和常见的科学计算器相同,此处不再详细说明。
运算结果保存在等号左边的变量中,结果一定是一个数字。
3.read,write(读写)
这两个指令用于操作memory(内存)建筑,memory用来多个处理器之间交换数据。等号左边是变量名,等号右边是目标建筑的名字。at后是一个数字,表示保存的位置。小内存有64个位置,大内存有512个位置。
4.draw(绘画)
draw指令用于输出图像信息,是一个画笔,用来在显示器上画画。clear是清屏,color是颜色,stroke是画笔粗细,后面都是一些形状,请自行查字典。
画板是坐标轴的第一象限,原点在左下角,坐标不能为负,小显示器边长为80,大显示器边长为175。
5.print(打印)
print指令用于输出文字信息,用来在信息版上写字。"\n"表示换行,注意文本一定要用双引号引起来,也可以输出变量内容,如果是变量中保存的是数字或文本,就可以直接显示。
6.draw flush/print flush
用于指定绘制或者打印的目标建筑。如果不指定会看不到结果。
7.getlink(获取连接)
用于获取连接的目标建筑,数字是序号, 从0开始,如果不存在则为null.
8.rader(雷达)
rader指令用于通过炮塔找到一个炮塔射程内的小兵。
from后是一个保存了炮塔的变量,target后面是筛选器,最多包含3个条件,需要同时满足。order是排序方式,0表示从小到大,1表示从大到小。sort是排序方式。结果保存在output后的变量中。
作者对rader做了执行频率的限制,其结果会进行缓存,如果短时间内重复执行,会直接使用缓存的结果。
9.sensor(传感器)
sensor用于获取单位的属性,它会读取in后的变量所保存的单位的所选属性,保存在等号左边的变量中。
点画笔可以方便的选择,前两栏的资源图标,表示对应资源的存量。第三栏为其他属性,多数查字典即可理解,xy是单位位置的坐标,shootxy是开火的位置。
10.control(控制)
control用来操作单位。
shoot用来控制炮塔射击,炮塔需要有子弹。of后是被控制的炮塔,xy是开火的坐标,可以超出射程,shoot后为1则会射击,0则不会射击。
enabled用于禁用/启用建筑,of后是被控制的建筑,如果设为0,则建筑一定时间内会不工作。如果不再发出禁用指令,建筑一会后会自动重新启用。
11.jump(跳转)
当if后的条件满足时,则会转到另一条指令继续执行,跳转的位置通过拖动右边的小三角来设置。always表示无条件跳转。
12.end(空)
这个是空指令,什么也不做,通常用来做跳转的目标。