缺氧
124 个评价
Digital CPU 数字化CPU
8
4
4
4
2
   
奖励
收藏
已收藏
取消收藏
文件大小
发表于
更新日期
1.957 MB
2024 年 5 月 12 日 上午 1:01
2024 年 12 月 1 日 上午 7:07
15 项改动说明 ( 查看 )

订阅以下载
Digital CPU 数字化CPU

描述
简介

ONICPU 是游戏缺氧的一个CPU模组,支持你建造可编程的代码执行控制单元,用它来实现复杂的自动化功能。

目前原版游戏只有简单的逻辑门自动化,这在实现一些很大型的电路时,会非常复杂,因此设计了这个模组,使用代码来控制自动化。

主要功能:

- CPU运算单元,支持4输入4输出IO,8输入8输出IO
- CPU支持使用汇编代码或者JavaScript代码进行控制
- 拓展线组读取器、线组写入器使其支持传输32位数值
- 拓展一系列传感器,使其可以直接读取数值,传给CPU处理
- 数码管显示

温馨提示:因为作者编程能力有限,模组可能会出现一些小问题,在玩之前请备份好你的主要存档,也可以在沙盒中测试没问题了再放到生存存档里,祝你玩的愉快!

使用方法

完整使用文档手册已经内置到游戏的数据库中,可以在游戏中随时查看。

CPU

你可以在自动化菜单中找到CPU(需要先解锁自动化科技),目前有3种大小的CPU:

- 2输入2输出IO
- 4输入4输出IO
- 8输入8输出IO

CPU左侧是输入端口,程序可以读取它的值,右侧是输出端口,可以输出值,控制下游连接的设备,因为游戏的限制,端口是非双向的,输入端口只能读取信号,输出端口可以输出信号。
CPU使用一个控制端口(中下位置)来进行控制,只有在控制端口接收到绿色信号时,单元才会启动,启动状态下,你的程序会以每秒5次的频率执行,在每个执行周期中,你可以读取输入参数,进行自定义计算,然后修改输出端口的值。

因为游戏代码限制,所有CPU端口最大支持32bit的数值(Int32)

每种CPU都有两个版本,有(JavaScript)后缀的表示这个CPU使用JavaScript代码进行控制。JavaScript简单易上手,汇编比较复杂但有趣,你可以选择自己喜欢的。

注意: 由于你的代码在游戏主线程中定时调用,因此在代码中你不能使用while循环来做延迟,这会导致游戏卡住,应该使用变量计数器,或者定时器函数(JS)来实现延时。

代码编辑器

你可以在选中CPU单元后,在右侧菜单中点击“编写程序”,来打开编辑器,在编辑器中:

- 顶部显示的是程序当前的状态信息
- 在左侧输入框中编写代码
- 右上角按钮控制程序运行、暂停。
- 右侧显示的是实时的程序IO数值
- 在汇编模式中,右侧还会显示寄存器、内存数据
- 在JavaScript模式中,右侧还会显示程序输出日志信息

建议你可以在Visual Studio Code或者其他代码编辑器软件中编写好代码再复制到游戏中。

点击“Compile”可以立即编译程序,编译会临时暂停运行程序,可以再点击上方运行按钮开始运行,点击“Close”可以编译程序然后关闭。

提示:CPU是否运行是根据控制端口是否有绿色信号来判断的,但你在代码编辑器中手动点击运行时不受信号限制,仍然会运行。

数字化传感器

本模组拓展了一系列传感器,使其可以直接读取数值,,你可以将其连接至CPU,然后就可以读取数值来进行相关处理了。

数码管显示器

本模组添加了数值显示器,你可以用它来显示网络中的数值。分为3档,分别可以显示 8位、16位、32位整数。

源代码

Source Code [github.com]
热门讨论 查看全部(5)
3
2024 年 10 月 16 日 下午 2:42
Digital indicator crash
NathanByel
1
2024 年 10 月 3 日 下午 9:35
Trouble research notification size
Linio
0
1 月 25 日 下午 6:06
Help With Bits
Optik_Chiron
90 条留言
Unique_Bitter 9 月 19 日 下午 8:04 
作者快更新
Madmer 7 月 21 日 下午 12:10 
Not working with last update
散步喵 1 月 23 日 上午 1:37 
超级好用。比原来搭建一堆电路方便省事很多,又不会影响游戏平衡,很棒很棒。感谢作者。
BoNes 2024 年 12 月 25 日 上午 12:32 
Feature request:
Could you add a digit battery charge sensor? Outputs a number from 0-100 that represents the current battery charge on the attached network.
GzM 2024 年 12 月 16 日 上午 6:08 
mod似乎失效了,麻烦作者抽时间更新一下:winter2019joyfultearssnowman:
darkleafin 2024 年 12 月 7 日 上午 9:42 
请问旧档(开了自动化概览)读入后没有找到CPU是为什么呢
BoNes 2024 年 12 月 7 日 上午 12:28 
Could you please add a 1 input / 1 output version? The very first time I used this mod, I wanted to be able to output a number on a single ribbon cable that basically says "only enable machine number X". It'd be much easier to do this with a single in / out.

Forgot to add: for the single in / out version, could it also have no CPU enable or CPU reset spots (so we could have a 1x2 CPU).
volkan 2024 年 12 月 5 日 下午 2:35 
@poi_daisuki it has a start/stop input. You can use a button to start CPU.
poi_daisuki 2024 年 12 月 5 日 上午 8:18 
在重新加载游戏以后要怎么才能让cpu自动启动呢
Rikaius 2024 年 11 月 21 日 下午 3:42 
The new update breaks this mod :c :meepdrool: