戴森球计划-产量计算器

share
前言
灵感来源于XeKr的EXCEL计算器 。非常感谢XeKr的产量计算器,如果对于产量计算器有什么疑问的可以先看看这个视频。
XeKr提供的Excel计算器固然好用,但受限于Excel(不使用VBA)的机能,仍然有些不尽如人意的地方。最重要的一点是,机器数量没有取整功能,这在游戏里是非常不现实的,因为你无法放置例如0.5个熔炉。但是简单的向上取整又会引发新的问题。
举个例子,当需要110个每分钟的宇宙矩阵产量时,铁块消耗量为2200个每分钟,需要36.67台机器。取整后是37台机器,产量为2220个每分钟。但实际上由于需要涉及的取整的物品太多,比如宇宙矩阵本身、五大矩阵、卡西米尔晶体、量子芯片等等,实际上取整后多需求的铁块远不止37台机器的产量(实际全体取整最小需求为40台制造铁块的熔炉)。
这样一来,简单向上取整,则铁块一定会不够用。导致大规模停产的发生。
由于这个需求的存在,本程序添加了新的功能,如图,点击右上方按钮“取整机器数量”可以自动取整,并且保证是添加最少数量的产能。
小程序界面
使用说明
1. 本计算器由Python + QT制作,并由pyinstaller打包,所以杀毒软件极有可能报毒。请提前关闭杀毒软件,并在下载完成后第一时间添加信任名单。
2. 对于exe文件有警惕是很正常的,所以我同时也提供了源代码(需求python3.7+和pyside2库)在同一文件夹里,并提供github源码地址。源码没有奇怪的库,所以使用起来非常简单。所以请酌情“选择”自己想要的版本下载。
3. 测试集为120六大矩阵,110宇宙矩阵取整。对比XeKr的产量计算器。需要注意的是,原计算器误把“液氢燃料棒”需要的一个钛块,写成了需要钛矿。所以想要验证准确性的,需要注意下这点。
4. 同原EXCEL一致的是,氢的产量需求请“选择性观看”,而且会与原excel有些许出入,并不保证准确。这里默认氢是溢出产能的存在。同原版一样,如果显示负数,则说明精炼油需求过多,导致分解原油后氢产出过量,需要消耗掉,否则生产线会停止。
5. 各类矿石的产量对应的机器数量,默认为180个每分钟情况下机器数量。实际不是,所以仅供参考。反正基础矿物采集,你爆铺到满不够再加就完事啦、
6. 同原EXCEL一致,默认无任何特产加速制造。(提醒下,特产包括可燃冰和有机晶体,但不包括硅矿石)。后期更新“或许”会加入相应的部分。
7. 这是我第一次写GUI程序,难免会有疏漏。如果有BUG欢迎私信我更改。欢迎merge申请。
下载地址
刚刚帖子被吞了,这次链接发二楼。
写在后头
或许有些人对于取整的方法有些许疑惑。这里阐释一下算法:
简单来说,假如就是先排序,再顺序更新取整的机器数量。
一个简单例子是“电磁涡轮”,它需要“电动机”, “磁线圈”,“铁块”,“齿轮”,“磁铁”,“铜块”,“铁矿”,“铜矿”组成。排序后为【“电磁涡轮”,“电动机”, “磁线圈”,“齿轮”,“磁铁”,“铜块”,“铁块”,“铁矿”,“铜矿”】。如此一来从“电磁涡轮”开始取整机器数量,到“铜矿”结束。则可以求得机器数量增加最少的取整方案。
这做法的内在原理在于,制造一个物品的各类材料中(上级产物),肯定不包含有该物品可以制造出来的东西(下级产物)。否则就会存在鸡生蛋蛋生鸡的悖论了。游戏里或许可以通过额外的特殊制造打破这一点,但一来违背人的直觉,二来特产不是哪里都有,制作组不可能不顾虑到没找到特产的玩家。
如此一来,先取整“电磁涡轮”,到取整“电动机”时,它只会增加排它后面产物的产量,而不会增加“电磁涡轮”的产量。则按顺序取整就行。
上下级关系,可以通过生成整体有向图来获取。举一例子,a与b对比,测试a->b的可达性,若a->b可达,则b必是制造a的材料之一。反之亦然。显然,由于很多物品的生产是无关的,排序的结果不唯一。这里我取一个排序结果硬编码进了程序,可以减少每次开程序的计算量。

西桥巷丶:我想问下题主大佬,现在还在更新吗,刚刚去网站看了下,好像没有更新了哦,这算是新手福音啊 发布于 2022-04-21 22:40:32

掘井之人:题主,你可以发在微信小程序赚钱 发布于 2022-03-19 14:15:32

魂月_0:因为有好些人私信我希望有保存功能,所以更新了一个带保存功能的,请在原下载地址的“测试版【带保存功能】”里取用。如果对于exe文件有疑虑的,可以自行编译使用,github开源代码库的地址是“ewecad/dyson_sphere_program_calculator”。 发布于 2022-03-19 11:49:52

yangzili99:在B站看到过题主诶,没想到坛子这里也有大佬的贴,滋糍滋糍 发布于 2022-03-11 12:33:02

洪荒屠夫:很赞!
作为一个萌新,我觉得没有完整品的材料表很难受,特别是我这种mc mod玩家
我也想过用qt写一个材料计算工具,游戏与代码之间我选择了游戏,惊奇在这里发现有人写了 发布于 2022-03-11 10:46:22

KuangqieJJ:我现在出了白糖,准备搬家开始重建生产线了。已经做好准备各地拉珍奇,请问大佬更新里现在有珍奇的计算方式了么,谢谢 发布于 2022-03-11 00:20:02

yyfffyf:大佬可以把每个机器的耗电也加上吗,我用的好几天了,真的好用 发布于 2022-03-10 23:33:22

baby我是你禹哥:抽水机不是50个每个分钟嘛,为什么你这里的是60 发布于 2022-03-09 15:58:02

魂月_0:因为假期快结束了,之后更新会比较慢,急着用珍奇的朋友有如下替代方法。而且珍奇这个我还在考虑更不更新,因为尝试了一下珍奇,感觉程序界面的格子会变得更满,更难搜索到想要的东西了。
举两个典型的例子:
1. 刺笋结晶。刺笋结晶 x 2 -> 碳纳米管 x 2。这个简单,按照你化工厂的数量在碳纳米管的“已有”里输入相应的数字。比如你刺笋结晶每分钟出120个碳纳米管,请在碳纳米管的“已有”里输入120。就可以少算120碳纳米管的产能。同样属于这一类的还有硫酸,有机晶体和晶格硅。
2. 单极磁石。单极磁石 x 10 + 铜板 x 2 -> 粒子容器。这个其实思路也是一样的,比如你单极磁石每分钟出120个粒子容器,请在粒子容器的“已有”里输入120,就可以少算120粒子容器的产能。但是同时,需要在铜板的“额外”里输入240,因为你生产需要240的铜板产能。同属这一类的还有光子合并器和卡西米尔晶石。 发布于 2022-03-07 15:56:42

魂月_0:有吧友提出50个极速传送带,需要600铁矿,然后取整出2340,问是不是出了问题了。
不知道是不是被百度吞楼了,但回复栏里可以看到。
姑且解释一下哦。
1. 极速传送带取整,是180个,铁矿需求2160个。
2. 磁铁现在需要900个,22.5台机器,往额外里加20个可以得到23台机器的产量,所以需要920个磁铁。现在铁矿需要2180个。
3. 铁矿现在需要12.11个机器。取整到13个,正好是2340个。 发布于 2022-03-07 15:55:02

妖魅的一吻:不知道是不是BUG,想整个产量50的3级传送带,输入额外50,出来数据,然后点击取整。取整的数字不对,比如599.999999铁矿取整出2340。 发布于 2022-03-07 15:51:22

主体思想永生:冒昧给大佬提个建议,能把出现数据的部分标红一下吗?
比如说我造电路板,输入数后就把铁矿铜矿铁板铜板的需求数字标红下,都是灰色字体想从一堆0里找出来有点太困难了。 发布于 2022-03-07 15:05:22

JohnnyTseX:应该还没加上分拣器和传送带吧 发布于 2022-03-07 12:41:12

给窝一支烟:题主,首先很抱歉我未经同意就拿你的源代码部署到了我的码云上了
我只是想试试可不可以直接通过web的形式直接访问,然后就试了下,然后就成功了,所以现在可以直接访问一个网址就能使用这个计算器,你可以搜一下如何通过码云部署静态网页,当然用git也行,只不过git访问可能比较慢,所以我用的码云。至于我部署的网址我就不公开了,因为这个太简单了。 发布于 2022-03-07 12:12:22

loveyouhapp:收藏了,此贴必火,水面大法依然感谢题主,来人加精! 发布于 2022-03-07 06:53:12

:为什么链接打不开啊 发布于 2022-03-07 03:41:02

haochengzhong:感谢感谢,大佬牛逼 发布于 2022-03-07 02:12:22

XSWL233333333:点取整没反应咋办 发布于 2022-03-06 19:50:02

345CDcdEFefGg:建议可以把采矿部分的矿机数量改为总所需覆盖矿脉数量(因为矿机效率为30乘覆盖矿脉数量每分钟),让玩家根据实际情况布置矿机 发布于 2022-03-06 19:16:12

小熙greatly:大佬,能不能出一个版本,改成能用三级制造台计算 发布于 2022-03-06 16:17:32

摸L上下Dog头:tql
题主业余自学能做出这么好的东西造福吧友,我一软件工程专业的学了三年还啥都不会
看完觉得好愧疚好自责,手里的游戏突然就不香了 发布于 2022-03-06 04:31:52

魂月_0:更新。本计算器已经由PYTHON + QT转移至用html + JavaScript实现了。
现在源代码即是网页!网页即是程序!显示界面和计算部分统统由浏览器本地执行,无需联网。运行文件仅有不到100KB大小。本版本支持所有现代浏览器(包括手机浏览器)运行。 发布于 2022-03-06 04:05:02

qq619232603:需求量大的话,提示传送带需要设置几条有的话就很人性
有蓝奏云的地址吗?百度网盘不好下载 发布于 2022-03-06 03:59:42

Sigma_______:能来个移动端的嘛? 发布于 2022-03-06 03:51:42

苏香门第_:哪个连接能用啊 好几个都试了提示连接错误 发布于 2022-03-06 02:45:32

democat7:我就是用和面法。观察厂子生产情况。缺啥补啥。省心。 发布于 2022-03-06 02:38:22

sje0908:请问制造台默认是mk.1吗 发布于 2022-03-06 02:30:52

小熙greatly:不懂就问,这里面的量产单位是分钟还是秒? 发布于 2022-03-06 02:18:02

翔sd翔:不太好用,一般都是设计整数个白糖吧,60,180什么的,这样算出来基本上都是整数个制造台 发布于 2022-03-05 22:45:22

魂月_0:再次更新版本,优化可燃冰计算。同时,氢不再是可以负数的指标了,而是指示实际所需的氢的产量。添加使用说明。 发布于 2022-03-05 22:43:52

50731225:终于等来大佬,快申精 发布于 2022-03-05 21:37:02

abc沙龙巴斯:感谢分享,和面大法估计用不到 发布于 2022-03-05 19:19:22

nimazhouasatbd:不会用啊大佬,做个使用功能的说明吧
另外输入后的关联产品,能不能做高亮显示啊,眼睛看花了 发布于 2022-03-05 19:17:02

嘬珗進:直接做输入控制可以解决取整问题 如果你说你只要2200 那么我只需要每分钟只放2200个给你 就算你有无数个工作台 由于原料就那么多 加工出来的产品也不会有多 发布于 2022-03-05 19:00:02

12缸双增压:我之前为了精炼油 氢和重氢,算了大半天,生产线布局也改了又改,后来直接采,吐血!还有红糖,开始建了n多,后来直接外星球合成了,又吐血! 发布于 2022-03-05 18:56:12

魂月_0:加入可燃冰支持的Beta版本。具体使用方式见二楼。 发布于 2022-03-05 15:31:32

魂月_0:待更新:更多特殊配方,特别是可燃冰。
这个需要仔细思考下现有算法是否可以支持多配方。 发布于 2022-03-05 15:16:12

Revol_Erutan:能加上传送带和分拣器吗 发布于 2022-03-05 15:08:02

更多戴森球计划-产量计算器相关问题

问题:戴森球计划-产量计算器

回答:感觉是走真实路线了 详情 >

问题:戴森球计划量化计算器已更新,支持增产剂计算

回答:马刺套,情怀加实用 详情 >

问题:《戴森球计划》从入门到入土,全建筑超市一图流

回答:这才是自由的法兰西 详情 >

问题:《戴森球计划》全球射线接收100%星球完成进度

回答:现在天山一出游戏没了平衡,不a才怪 详情 >

问题:《戴森球计划》止步绿糖了,玩不下去了,太复杂了

回答:骑砍用不着20跟30系的显卡,1660ti的够用了,要求战场人数多的cpu好一点 详情 >