# CyberDoctor2 **Repository Path**: cycle-studio/cyber-doctor2 ## Basic Information - **Project Name**: CyberDoctor2 - **Description**: 完整版赛博诊所 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-10 - **Last Updated**: 2025-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 赛博医生2.0 一款充满赛博朋克风格的芯片医疗模拟游戏。 ## 项目说明 在这个游戏中,玩家将扮演一名芯片医生,通过焊接电路、修复芯片和安装插件来满足顾客的各种需求,同时经营和发展自己的诊所。 ## 开发环境要求 - Node.js >= 14.x - npm >= 6.x ## 安装和运行 1. 安装依赖 ```bash npm install ``` 2. 开发模式运行 ```bash npm start ``` 3. 构建生产版本 ```bash npm run build ``` ## 项目结构 ``` cyber-doctor/ ├── src/ # 源代码目录 │ ├── core/ # 核心游戏逻辑 │ ├── components/ # 游戏组件 │ ├── utils/ # 工具函数 │ └── assets/ # 游戏资源 ├── public/ # 静态资源 └── tests/ # 测试文件 ``` ## 技术栈 - HTML5 Canvas - JavaScript ES6+ - Webpack - Jest ## 开发规范 请参考项目中的 .eslintrc.js 文件了解代码规范要求。 ## 许可证 MIT ## 芯片模板处理说明 ### 芯片模板文件 芯片模板文件是JSON格式,位于 `src/assets/templates` 目录下。这些文件定义了不同类型的芯片及其节点布局。 ### 模板处理工具 为了避免直接从前端动态加载JSON文件可能出现的404错误问题,我们提供了一个模板处理工具,它会读取所有模板文件并生成一个JavaScript模块供代码使用。 #### 如何使用模板处理工具 1. 将你的芯片模板JSON文件放入 `src/assets/templates` 目录 2. 运行模板处理工具: ```bash node src/tools/templateProcessor.js ``` 3. 工具将会读取所有模板文件并生成 `src/assets/templateData.js` 文件 #### 添加新模板的流程 1. 在 `src/assets/templates` 目录下创建新的JSON模板文件 2. 运行模板处理工具生成更新后的静态数据文件 3. 重新构建/启动应用 #### 模板文件格式 ```json { "type": "模板名称", "basePrice": 1000, "nodes": [ {"type": "NETWORK", "x": 252, "y": 518, "label": "网络节点"}, {"type": "BIO", "x": 402, "y": 513, "label": "生物节点"}, {"type": "POWER", "x": 349, "y": 155, "label": "能源节点"} ], "pluginSlots": [ {"x": 434, "y": 526, "hasPlugin": false, "label": "改装槽1"} ], "existingPaths": [ [ {"x": 390, "y": 309}, {"x": 507, "y": 309}, {"x": 501, "y": 177} ] ], "solderingStart": { "x": 50, "y": 300, "direction": 0 } } ``` #### 字段说明 - `type`: 模板名称 - `basePrice`: 模板基础价格 - `nodes`: 节点数组,每个节点包含类型、位置和标签 - 支持的节点类型: COMPUTE, STORAGE, NETWORK, SECURITY, BIO, POWER - `pluginSlots`: 插件槽数组(可选) - `existingPaths`: 预设路径数组(可选) - `solderingStart`: 焊接起始位置和方向 ## 芯片模板编辑器 ## 项目描述 这是一个芯片模板编辑器,用于开发人员自定义芯片模板、节点位置和焊接起始点。 ## 本地开发环境设置 ### 启动本地服务器 由于现代浏览器的安全策略,ES6模块需要通过HTTP或HTTPS协议加载,而不能直接通过文件协议(file://)访问。因此,本项目需要使用本地服务器运行。 #### 方法1:使用批处理文件(推荐) 项目根目录下提供了一个一键启动本地服务器的批处理文件: 1. 双击运行根目录下的 `start-dev-server.bat` 2. 文件会自动检测系统中是否安装了Python或Node.js,并使用适当的方式启动服务器 3. 服务器启动后会自动打开浏览器访问编辑器页面 4. 如需停止服务器,请在命令行窗口中按 `Ctrl+C` #### 方法2:手动启动服务器 如果批处理文件无法正常工作,可以手动启动服务器: **使用Python(Python 3):** ```bash python -m http.server 8080 ``` **使用Node.js:** ```bash # 如果未安装http-server,先安装 npm install -g http-server # 启动服务器 npx http-server -p 8080 ``` 启动服务器后,在浏览器中访问:http://localhost:8080/src/tools/ChipTemplateEditor.html ## 项目结构 ``` src/ ├── tools/ │ ├── ChipTemplateEditor.html # 编辑器主页面 │ ├── ChipTemplateEditor.js # 编辑器主逻辑 │ └── modules/ # 模块化代码 │ ├── Constants.js # 常量定义 │ ├── TemplateData.js # 模板数据结构 │ ├── EditState.js # 编辑状态 │ ├── CanvasRenderer.js # 画布渲染 │ ├── EventHandlers.js # 事件处理 │ ├── TemplateActions.js # 模板操作 │ └── UtilityFunctions.js # 工具函数 ```