# CircuitCraft **Repository Path**: uli2k/circuitcraft ## Basic Information - **Project Name**: CircuitCraft - **Description**: 《我的电路世界》是一个类似于《我的世界》的电路模拟小游戏,包含7种门电路方块,包含时钟和随机数,你可以用它来搭建你自己的超大规模数字电路,而且比《我的世界》更快、更小。 - **Primary Language**: C - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-01 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CircuitCraft #### 介绍 CircuitCraft是一个类似于《我的世界》的电路模拟小游戏,包含7种门电路方块,包含时钟和随机数,你可以用它来搭建你自己的超大规模数字电路,而且比《我的世界》更快、更小。 CircuitCraft只包含几种基本的电路元件,它们分别是: 1. 低:它永远输出低,相当于0 2. 高:它跟低是对立的,永远输出高,相当于1 3. 导线:可以把不同的元件连在一起,用于传输信号 4. 非门:输入低则会输出高,输入高则会输出低 5. 与门:所有的输入都是高它才会输出高 6. 或门:只要有一个输入为高它就会输出高 7. 异或门:如果输入有高也有低则会输出高,只有高或只有低则会输出低 8. 与非门:所有的输入都是高它才会输出低,否则输出高 9. 或非门:只要有一个输入为高它就会输出低,否则输出高 10. 同或门:如果输入有高也有低则会输出低,只有高或只有低则会输出高 11. 灯:它不输出,只会在输入高时亮起 12. 时钟:它会自动在高和低之间来回切换 13. 随机数:它会随机地变换高低状态 14. 按钮:通常会输出低,用十字线瞄准它,并敲击它时会输出高 怎样才能用这些方块连接电路呢?你只需记住几条简单的规则。 1. 低,高,时钟,随机数,按钮方块都是输出元件,它们会向周围6个方向或指定的方向输出高或低,紧挨它们的方块可以接受它们的输出。 2. 导线方块可以连在一起,导线方块周围6个方块信号的变化都会迅速传导到连在一起的任意一块导线方块。 3. 门元件有5个输入端和1个输出端,这个输出端标记有一个点和环,紧挨输入端的方块高低发生变化时输出端会根据门元件的规则输出对应值。 4. 灯周围都是输入端,根据输入高低表现为亮灭。 5. 把输出的方块和输入的方块挨在一起,用导线传递不同的信号,组建数字电路就是这么简单。 #### 命令行 CircuitCraft \[传输速度] \[时钟帧数] #### 参数 帧:每次刷新画面记为一帧 传输速度:每一帧信号会传输多少格,范围1-4096,默认256 时钟帧数:时钟元件切换一次要经过多少帧,范围1-256,默认32 #### 常规操作 Esc:退出并保存 QWEASD:移动视点 同时按住Shift可加速 上下左右键或移动鼠标:旋转视角 PgUp:视角推远 PgDn:视角拉近 T:瞬移到方块前 Shift+T:回瞬移前的位置 #### 方块切换 1:低 2:高 3:导线 4:非门 5:与门 6:或门 7:异或门 8:与非门 9:或非门 0:同或门 L:灯 O:时钟 R:随机数 B:按钮 Tab或鼠标滚轮:切换当前方块 方块具有全向和单向两种,全向方块各面相同,单向方块有五个输入端和一个输出端,放置时输出端朝向玩家。 门方块都是单向的,低,高,导线,时钟,随机数方块两种都有,全向导线将变化端的信号传输到其他各端,单向导线只将输入端信号的最高值传输到输出端。 G:切换区分全/单向的方块在放置时的类型 #### 编辑操作 鼠标左键:在方块旁边放置方块 Ctrl+鼠标左键:凭空放置方块 鼠标右键:删除方块 空格键:敲击按钮 C:复制连通域 V:粘贴连通域 Del:删除连通域 #### 编译说明 你可以用 VS2015 或更高版本打开“CircuitCraft.vcxproj”来编译。 #### 使用说明 见程序输出提示。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat\_xxx 分支 3. 提交代码 4. 新建 Pull Request