异星工厂吧 关注:61,319贴子:392,621

成功实现按需发车,2.0火车调度思路分享

只看楼主收藏回复

测试截图镇楼


IP属地:福建1楼2024-11-01 14:23回复
    首先是卸货站,车站读取来车数量C,A为单次列车所运送货物,B为卸货站的需求物品数量。左边的运算器C*A得出有多少货物正在运送,中间的运算器B-铁矿得出还有多少货物需要运输,右边的运算器铁矿/A得出还需要多少辆车,并输出L给车站设置车辆限制,上方的运算器L*-1得出一个负数铁矿,用于向雷达发送请求


    IP属地:福建2楼2024-11-01 14:34
    收起回复
      广告
      立即查看
      然后是装货站,车站读取来车数量C,A为单次列车所运送货物,左边运算器铁矿/A得出可以供多少辆车装货,并输出L给车站设置车辆限制,右边的运算器铁矿+C得出一个正数铁矿,代表有多少任务已被接取,并发送给雷达


      IP属地:福建3楼2024-11-01 14:40
      收起回复
        重点是车库的设计。车站会读取当前停靠列车的列车编码T,发送给3号运算器,3号运算器会将T转为“信号0”并保持值不变,注意其余车站转变的信号必须互不相同(如1号车站转为信号0,2号车站转为信号1)。1号运算器组会读取所有3号运算器的输出,从中选出最大值并转为T,用于选取下一次发车的目标。2号运算器组负责计时+读取任务,如果接收到位于(0,-1000)内的信号,则输出一个S,计时系统用于保证每5tick才会向车站发送1tick的S信号。5号运算器用于确认当前的列车编号是否和选取出的列车编号一致,如果是,就输出输入的S信号。4号运算器负责将请求从雷达推送到车站,并防止信号回流。
        配合上简单的火车中断,就成功实现依次发车,避免同时发车可能会产生的冲突



        IP属地:福建4楼2024-11-01 15:06
        回复
          而液体的设计思路基本一致,这里就不再赘述。只需注意给液体添加一个基础值(此处为-2000),并改动相应的信号范围即可


          IP属地:福建5楼2024-11-01 15:10
          回复
            你这个C完全没必要读啊。直接缺货除运量得出的L2,不就等于你算出来的L1+C


            IP属地:上海6楼2024-11-01 15:18
            收起回复
              比起电路我更想看看楼主的路口是怎么设计的


              IP属地:广东7楼2024-11-01 15:23
              收起回复
                总结一下(叠个甲),我这套设计思路基本是复刻LTN,也就图一乐。甚至没学来LTN的混卸,这套思路可以说完全不支持(如果有大佬知道如何实现的话欢迎提出建议)。除此之外也有一定缺陷:不好采用分布式车站;存在12辆/s的硬性发车上限(固液分别计算,应该也够了?)(可提高至15/s或20/s,但我没测试过,可能存在冲突风险)
                ;供应不足时会占用闲置车辆。但我个人还是比较满意的,以前玩火车只会点对点,接触mod后就走上了LTN的不归路,这算是第一次自己设计。


                IP属地:福建8楼2024-11-01 15:28
                收起回复
                  广告
                  立即查看
                  最后放上蓝图
                  链接: https://pan.baidu.com/s/1AOTD4wJ8j8rgIizhCwNsTQ?pwd=t5uf 提取码: t5uf 复制这段内容后打开百度网盘手机App,操作更方便哦


                  IP属地:福建9楼2024-11-01 15:29
                  回复
                    为什么你们会懂这么多东西?游戏教程里面完全没有运算器的内容,这都是去哪里学的啊?


                    IP属地:广西10楼2024-11-01 16:00
                    收起回复
                      顶一下


                      IP属地:福建来自Android客户端11楼2024-11-01 22:49
                      回复
                        看的就肝痛


                        IP属地:湖南来自Android客户端12楼2024-11-02 00:11
                        回复
                          也是类LTN设计,车库设计还在调试。我的暂存在两个问题:
                          1.额外的车出发。车库的出发出发没有做限制,元中断刷新车库空车任务的间隔大概两三秒,这段期间可能有多余的车出发拉货,不过一般就两三辆(可接受);
                          2.优先级问题。高缺货优先和低缺货优先都问题不小,某个最高优先级的任务卡住,剩下的就都等它了(不可接受)。预计将供应站货物联网,结合需求数量,供应数量,等待时间这三个参数,做一个动态优先级调度。(喵脑过载)



                          IP属地:江苏来自Android客户端13楼2024-11-02 12:07
                          回复
                            大佬你的蓝图我正在用,如果能再补充个加油站就好了


                            IP属地:湖南来自Android客户端14楼2024-11-03 09:38
                            回复
                              广告
                              立即查看
                              再顶,没有大佬有实现混卸的思路吗


                              IP属地:福建来自Android客户端15楼2024-11-04 02:20
                              回复