mindustry吧 关注:12,840贴子:77,184

逻辑处理器前瞻性教程

取消只看楼主收藏回复

缓更


1楼2020-08-13 14:25回复
    从BE build 不知道哪个版本号开始,anuke添加了新的方块类别(Discord上公布于8.10.2020)
    本贴内称为“逻辑类”
    截止build 9260,已有
    信息板,
    开关/switch,
    小型处理器/micro-processor,
    逻辑处理器/logic-processor,
    显示屏/logic-display,
    存储器/memory-cell
    共六个方块。


    3楼2020-08-13 15:50
    回复
      漕,anuke调整了建筑名称,我先修一下旧存档


      4楼2020-08-13 15:55
      收起回复
        版本更到了9260
        【信息板/Message】
        就是正式版本的信息板移过来换了个贴图。储存文本,可由玩家编辑。
        现在它可以被处理器方块编辑,后面再说。


        5楼2020-08-13 17:09
        回复
          【开关/switch】
          一个开关,自身没什么别的用,适合作为玩家输入。
          有一个布尔属性enabled,玩家点击时更改,处理器对它只读。
          提醒:布尔值只有真、假,对应数字1、0


          6楼2020-08-13 17:19
          收起回复
            【显示屏/logic-display】
            一个显示屏,分辨率80x80。
            需要用处理器绘图。


            7楼2020-08-13 17:29
            回复
              【存储器/memory-cell】
              这是一排存储器。处理器间交换数据的唯一途径、长期保留数据的唯一途径。
              可以使用处理器从存储器中读写数据。稍后说。
              存储器中的数据以地址--内容的形式存储,即一个地址存储一个数据。稍后一起说。


              8楼2020-08-13 17:43
              收起回复
                无人


                9楼2020-08-13 17:44
                收起回复
                  【小型处理器/micro-processor】
                  【逻辑处理器/logic-processor】
                  都是处理器,不多谈。目前两者的区别是尺寸和连接范围,直径见图。
                  处理器像信息板一样可以编辑,但所编辑之物是以模块呈现的程序语句。8说了,亲民
                  不像隔壁mc的命令方块,这个玩意不算很影响平衡性。


                  10楼2020-08-13 18:06
                  收起回复

                    点开一个新的处理器。左下角【添加】可以新建语句,【返回】不多谈,【编辑】可以导入导出该处理器中的语句
                    先说编辑吧,内含2个选项。

                    这里导入导出的并不是蓝图代码(那玩意用base64编码的)
                    而是明文传输的语句代码所以记事本搞起来


                    11楼2020-08-13 18:16
                    收起回复
                      在玩语句之前,我们要【关联】需要控制的方块。
                      像连能量节点一样,先点击处理器,再点击要关联的方块即可。处理器会为所有关联的方块自动命名

                      处理器记忆关联信息似乎是按照相对位置+方块种类。即使拆也不影响其他方块名称,再放同样的方块回去也会自动重新关联


                      13楼2020-08-13 18:34
                      收起回复
                        先摆一个版本号在这里:BE build 9260
                        【添加新语句】
                        下图为所有可用语句,点击添加。
                        分别是
                        Write-写(存储器)
                        Read-读(存储器)
                        Draw-作图(显示屏)
                        DrawFlush-作图刷新(显示屏)
                        Print-打印文字(信息板)
                        PrintFlush-文字刷新(信息板)
                        Control-控制(某个方块)
                        Radar-雷达探测(武器)
                        Sensor-传感器(某个方块)
                        Set-新建(变量)
                        Binary Op-二元运算(变量运算)
                        Unary Op-一元运算(变量运算)
                        End-立即结束(///)
                        Jump-跳转(逻辑关系)

                        接下来的内容写起来超级繁琐


                        16楼2020-08-13 19:11
                        收起回复
                          既然是程序教学
                          那第一步肯定是【hello world】啦
                          首先我们放一个处理器和信息板,然后关联()

                          然后打开处理器,新建一个print语句,如下图

                          修改参数为“Hello World”(双引号表示这是一个字符串)。
                          并新建一个PrintFlush语句

                          语句位置不对?可以按住标题它拖下来

                          再点返回,处理器就设置好了。

                          提示:
                          语句的运行顺序是自上而下,循环运行。
                          处理器内声明的变量可以跨循环使用,但在编辑处理器后会清空


                          19楼2020-08-13 20:15
                          收起回复
                            我出门散个步回来,aneko酱已经更到9263了
                            不过以下内容还是基于be 9260
                            下面是指令的简要介绍
                            首先介绍打字语句
                            【print】
                            仅有一个输入参数,就是你要打印的文字内容。
                            参数加引号就是字符串;不加就认为是变量名,这样打印的就是变量的值。
                            使用print之后,打印的文字会【缓存】在处理器中。因此可以用多个print来组成一段打印内容,再用下面的printflush一起输出。
                            比如我要让信息板显示copper:[变量copperincore的值]
                            那么就有语句
                            print "copper:"
                            print copperincore
                            printflush message 1
                            【printflush】
                            一个参数,信息板名称。清空指定信息板、把缓存的文字输出到该信息板、清空缓存的文字。
                            print和printflush的关系,可以打个比方:
                            你有一叠草稿纸,和一面面信息板,草稿纸是隐藏的而信息板是显示出来的。每一次执行print,就往草稿纸上做一个笔记。写完了执行printflush刷新到信息板1,相当于把这张草稿纸【覆盖】到信息板1上【展示】出来,并且【换一张新草稿纸】继续写


                            21楼2020-08-13 23:25
                            收起回复


                              22楼2020-08-13 23:37
                              回复