处理器基本原理 #1 处理器系统基本介绍
精华修改于2021/03/048606 浏览 攻略分享
逻辑处理器体系是mindustry 6.0版本中新加入的内容,该系统给玩家带来了更加深入的玩法,也让游戏可以在一定程度上可以进行定量的控制和管理。但是学习使用逻辑处理器需要一定的学习成本,现阶段不使用处理器系统也不会影响正常的游玩体验。本文将对逻辑处理器系统进行基本的介绍,以及一个应用实例。下面进入正文:
![TapTap](https://img2.tapimg.com/bbcode/images/87ef8dc4e460ebae787f1ae961578f5e.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
一,处理器系统有哪些内容?
目前版本中,处理器系统包含9个建筑:信息板、开关、微型处理器、逻辑处理器、超核处理器、内存元、内存库、逻辑显示屏、大型逻辑显示屏。
![TapTap](https://img2.tapimg.com/bbcode/images/c9ee547b119a5943156f2ec221277f97.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
其中最核心的建筑就是3种处理器(包括微型处理器、逻辑处理器以及超核处理器)。所有的处理器指令都是在这些处理器类型的建筑中运行的。这三种处理器没有本质上的差别,主要的差距在于:运算速度、建造消耗、运行条件以及连接范围。它们的差距在它们的属性面板中可以很容易地被看出来(见下图)。
![TapTap](https://img2.tapimg.com/bbcode/images/9de92b6a070f33d0fe8283651a79fdf4.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
P.S.绝大部分功能用微型处理器就可以实现![[嗒啦啦2_哈哈]](https://img.tapimg.com/market/images/1bbca193685a619674d8260ad0ed7455.gif)
![[嗒啦啦2_哈哈]](https://img.tapimg.com/market/images/1bbca193685a619674d8260ad0ed7455.gif)
剩下的建筑可以分为:
输出类:信息板、逻辑显示器、大型逻辑显示器
输入类:开关(某种意义上也可以当成输出设备)
内存类:内存元、内存库
因为是基本介绍,所以这些功能就不详细说了,简单说一下吧。
输出类建筑可以通过·处理器实现一些信息的输出,信息板主要输出文字信息,比如下图就是利用信息板输出时间的计时器模块。
![TapTap](https://img2.tapimg.com/bbcode/images/89e6edad181b627da690b07beea7d8cb.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
显示器,顾名思义,就是用来输出图像的建筑。显示器的好处就是不用选中就可以看到显示的内容(信息板需要选中才能看到其中的信息)。下图展示了用显示器显示系统时间的模块。逼真的图片也完全可以显示。
![TapTap](https://img2.tapimg.com/bbcode/images/2147ff5465abdd0b7839d9a1d04c744e.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
输入类的开关就是一个按钮,有打开和关闭两种状态,处理器与开关连接之后,就可以通过指令读取开关的状态,以实现输入的功能,前面的计时器模块就是通过开关控制运行的。同样也可以通过指令控制开关的状态以达到输出的目的,这里就不赘述了。
内存类建筑可以储存一定的信息。内存容量就是最多储存几个数值(见下图),该建筑主要是用于多个处理器之间进行信息交流。
![TapTap](https://img2.tapimg.com/bbcode/images/abba3414e43c53e374dca95a6a7d064a.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
![TapTap](https://img2.tapimg.com/bbcode/images/f863f1f26f51d26cb516efe42639553f.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
二、如何使用处理器?
了解了逻辑处理器系统包含哪些建筑后,我们接下来讲一下如何使用这些东西。
1.处理器的连接
每种处理器都有一个连接范围(见下图)。
![TapTap](https://img2.tapimg.com/bbcode/images/853928e38dd5a29c3a5771b15e7c675e.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
这个范围内的建筑可以被处理器连接。所有类型的建筑都可以被处理器连接,甚至包括处理器。
![TapTap](https://img2.tapimg.com/bbcode/images/52560015e3e0277cc780d68663aae3a6.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
被连接的建筑上方所显示的名字就是这个建筑在该处理器中的代号,当给处理器编写指令的时候,就可以用这个名字来代表对应的建筑(例如上图中的双管炮的名字就是duo1),这一点在处理器的使用中十分重要。接下来我们就来介绍怎么给处理器添加指令。
2.给处理器添加指令
我们选定处理器后,会看到它的正下方有一个🖊的标志,我们点击它就进入了指令编辑的界面,初始的指令编辑界面如下图所示:
![TapTap](https://img2.tapimg.com/bbcode/images/8cebd92ecf0f49a4570f8f82878f4ef7.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
空空的一片,除了下面3个按钮。
第一个按钮返回就不说了(不会有人不知道返回什么意思吧?O(∩_∩)O)第二个按钮编辑,点击进入后会看到这样的界面:
![TapTap](https://img2.tapimg.com/bbcode/images/855636b43bdb37775e571929a525615e.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
这个按钮的功能就是导入、导出代码蓝图,和游戏中的蓝图一样,点击复制蓝图到剪贴板可以将这个处理器中的命令导出成为蓝图代码,点击从剪贴板导入蓝图,就可以将你复制的蓝图导入到这个处理器中,是一个十分方便的功能。
我们的重点是第三个按钮——添加。点击添加后会进入如下界面:
![TapTap](https://img2.tapimg.com/bbcode/images/b6f377bff6ea74cf6537ea270d08b456.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
这就是处理器可以添加的所有指令了,一共有18种,每一种都有其特别的功能,这些指令也是处理器系统核心中的核心。点击其中一种就可以将这个指令添加到处理器中了。
![TapTap](https://img2.tapimg.com/bbcode/images/2b85201b95547be9022bbf1ccf33b62c.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
3." HELLO WORLD"
众所周知,要学会一门语言,首先需要"HELLO WORLD",这是本文的最后一部分,将演示如何用处理器实现“HELLO WORLD”。
首先我们要准备一个处理器和一个信息板,然后将信息板连接到处理器中,这就是我们需要的全部“硬件”设施了。
![TapTap](https://img2.tapimg.com/bbcode/images/8c97f84a8f591912801dd47a8c9da7d0.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
然后我们在处理器中添加如下指令:
![TapTap](https://img2.tapimg.com/bbcode/images/afd3aa45f97e2ad4227880b26709e459.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
处理器会反复顺序地执行处理器中的指令,第一条指令Print,会将它所包含的内容放到一个“空间”里面,当执行到Print Flush时,就会将这个“空间”中的内容输出到对应的信息板中,比如这里的信息板叫message1,我们退出处理器就可以看到信息板上显示着“HELLO WORLD”的字样。
![TapTap](https://img2.tapimg.com/bbcode/images/99ada8803ff6a0e4cc4e090da1bf1785.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
可能有的同学不能理解这个“空间”的意义,我们再看一下下面这个指令:
![TapTap](https://img2.tapimg.com/bbcode/images/d335a7b994212250f74952fb3cc3b37d.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
它的输出结果会是什么呢?
大家可以想一下。
当然还是HELLO WORLD啦!
![TapTap](https://img2.tapimg.com/bbcode/images/d25bb8263595ad64da84ae73915b108f.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
两条Print指令的内容依次放到那个“空间”中,最后在Print Flush的时候就一起输出到信息板上了,这种设计可以十分方便地将变量和字符串输出在同一条信息里,也更方便一次输出大量信息。
计时器就是将变量(前面的数字:8.533)和字符串(秒)结合在一起输出的生动例子~
![TapTap](https://img2.tapimg.com/bbcode/images/5c09c8f1ec90272107193520ce2a3f1d.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
补充一点,字符串是必须用“”框起来,如果没有双引号的话就会把它们当成变量,就不能正常输出文字啦!后果见下图:
![TapTap](https://img2.tapimg.com/bbcode/images/4fc58aa2bc9b7e32b5dcf464b0e4cb45.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
![TapTap](https://img2.tapimg.com/bbcode/images/2e4440d4529746cabc9c952a4e425629.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1&t=1)
好啦!本期教程到这里就结束了,希望对大家有帮助~
b站上也有关于像素工厂逻辑处理器相关的视频,有兴趣的小伙伴可以去搜一搜,看一看~