# 图灵完备 **Repository Path**: Fichsici/BitForge ## Basic Information - **Project Name**: 图灵完备 - **Description**: 一个课程设计 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-03 - **Last Updated**: 2026-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BitForge - 数字计算机建造者 一个教育类电路仿真游戏,通过动手实践学习计算机原理,从简单的逻辑门开始,逐步构建算术单元、存储系统,最终创建完整的计算机系统。 ## 项目概述 BitForge 是一个基于 Web 的交互式电路仿真游戏,旨在通过游戏化学习方式教授计算机体系结构。项目采用现代 Web 技术栈,提供直观的可视化界面和渐进式学习体验。 ### 核心技术栈 - **前端框架**: React 18 + TypeScript - **构建工具**: Vite 4 - **样式框架**: Tailwind CSS - **状态管理**: Zustand + 持久化存储 - **路由**: React Router DOM - **图标**: Lucide React - **仿真引擎**: 自定义事件驱动仿真器 ## 项目结构 ``` e:\BitForge\ ├── src/ │ ├── components/ # 可复用UI组件 │ │ ├── ui/ # 基础UI组件 │ │ │ ├── Badge.tsx │ │ │ ├── Button.tsx │ │ │ ├── Card.tsx │ │ │ ├── EmptyState.tsx │ │ │ ├── LoadingSpinner.tsx │ │ │ ├── Modal.tsx │ │ │ ├── ProgressBar.tsx │ │ │ └── index.ts │ │ ├── AchievementToast.tsx │ │ ├── ChapterPage.tsx │ │ ├── ErrorBoundary.tsx │ │ ├── Layout.tsx │ │ ├── PageLoader.tsx │ │ ├── PerformanceMonitor.tsx │ │ ├── SaveLoadPanel.tsx │ │ ├── SolutionButton.tsx │ │ └── Toast.tsx │ ├── pages/ # 页面组件 │ │ ├── AchievementsPage.tsx │ │ ├── Chapter1Page.tsx │ │ ├── Chapter2Page.tsx │ │ ├── Chapter3Page.tsx │ │ ├── CircuitEditor.css │ │ ├── CircuitEditor.tsx │ │ ├── DeveloperSettings.tsx │ │ └── HomePage.tsx │ ├── store/ # 状态管理 │ │ └── GameStore.ts # 游戏状态管理 │ ├── utils/ # 工具函数 │ │ ├── simulation/ # 仿真引擎 │ │ │ └── SimulationEngine.ts │ │ ├── CanvasRenderer.ts │ │ ├── EventBus.ts │ │ ├── PerformanceMonitor.ts │ │ ├── SoundManager.ts │ │ └── levelValidator.ts │ ├── hooks/ # 自定义Hooks │ │ └── useHistory.ts │ ├── types/ # TypeScript类型定义 │ │ └── circuit.ts # 电路相关类型 │ ├── data/ # 游戏数据 │ │ ├── achievements.ts │ │ ├── levels.ts # 关卡配置 │ │ └── solutions.ts │ ├── fonts/ # 字体文件 │ ├── assets/ # 静态资源 │ ├── App.tsx # 主应用组件 │ ├── main.tsx # 应用入口 │ ├── fonts.css # 字体样式 │ ├── index.css # 全局样式 │ └── vite-env.d.ts # Vite环境类型声明 ├── public/ # 公共资源 ├── index.html # HTML入口 ├── package.json # 项目配置 ├── vite.config.ts # Vite配置 ├── tsconfig.json # TypeScript配置 ├── tailwind.config.js # Tailwind配置 ├── postcss.config.js # PostCSS配置 └── README.md # 项目说明 ``` ## 游戏内容设计 ### 第一章:逻辑门基础 1. **认识NAND门** - 使用NAND门创建NOT门 2. **构建AND门** - 使用NAND门创建AND门 3. **构建OR门** - 使用NAND门创建OR门 4. **构建XOR门** - 使用NAND门创建XOR门 5. **多输入逻辑门** - 构建三输入AND门 ### 第二章:算术单元 1. **半加器** - 使用基本逻辑门构建半加器 2. **全加器** - 使用半加器和逻辑门构建全加器 3. **4位加法器** - 构建4位二进制加法器 4. **简单ALU** - 构建支持四种操作的算术逻辑单元 ### 第三章:存储系统 1. **SR触发器** - 使用NAND门构建SR触发器 2. **D触发器** - 使用SR触发器构建D触发器 3. **4位寄存器** - 构建4位寄存器 4. **简单RAM** - 构建4x4位随机存取存储器 ## 核心功能模块 ### 1. 仿真引擎 (`src/utils/simulation/SimulationEngine.ts`) - 事件驱动仿真模型 - 支持基本逻辑门、算术单元、存储元件 - 实时信号传播和时序分析 - 可配置的传播延迟 ### 2. 游戏状态管理 (`src/store/GameStore.ts`) - 用户进度跟踪(章节、关卡、成就) - 组件解锁系统 - 电路保存和加载 - 本地持久化存储 ### 3. 电路编辑器 (`src/pages/CircuitEditor.tsx`) - 可视化拖拽界面 - 组件库管理 - 实时仿真控制 - 电路保存和导出 ### 4. 响应式UI组件 - 现代化设计语言 - 移动端适配 - 交互式学习进度展示 - 游戏化元素(成就、进度条) ## 技术特色 ### 分层架构设计 1. **表现层**: React组件 + Canvas渲染 2. **业务逻辑层**: 游戏状态管理 + 关卡系统 3. **仿真核心层**: 事件驱动仿真引擎 4. **数据层**: IndexedDB持久化存储 ### 教育设计理念 - **渐进式学习**: 从简单到复杂,逐步构建知识体系 - **可视化理解**: 实时信号传播和时序分析可视化 - **实践导向**: 通过动手构建电路理解原理 - **游戏化学习**: 解谜、沙盒、挑战三种模式 ## 开发状态 ✅ **已完成**: - 项目基础架构和配置 - 核心仿真引擎实现 - 前三章游戏内容设计 - 主要UI界面组件 - 游戏状态管理系统 - 电路编辑器Canvas交互 - 仿真结果可视化 - 关卡验证系统 - 响应式布局适配 - 性能优化和代码清理 🔄 **进行中**: - 第四章:处理器基础 - 第五章:完整系统 📋 **计划中**: - 社区分享功能 - 多语言支持 - 高级电路分析工具 ## 快速开始 ### 安装依赖 ```bash npm install ``` ### 开发模式 ```bash npm run dev ``` ### 构建生产版本 ```bash npm run build ``` ### 预览构建结果 ```bash npm run preview ``` ## 设计原则 1. **可访问性**: 界面清晰,操作直观 2. **可扩展性**: 模块化设计,易于添加新组件和关卡 3. **性能优化**: 高效的仿真算法,流畅的用户体验 4. **教育价值**: 每个关卡都有明确的学习目标和实践价值 ## 贡献指南 欢迎贡献代码、提出建议或报告问题。请确保: 1. 遵循项目代码风格 2. 添加适当的测试 3. 更新相关文档 4. 保持向后兼容性 ## 许可证 本项目采用 MIT 许可证。详见 LICENSE 文件。 ## 联系方式 如有问题或建议,请通过项目 Issues 页面提交。 --- **BitForge - 复杂性源于简单规则的组合**