# 四路围棋 **Repository Path**: siger100/fourgo ## Basic Information - **Project Name**: 四路围棋 - **Description**: 汉语田字棋的4字版本,正好可以用来玩4路围棋,采用九天围棋的棋盘绘制方法,不落在交叉点上,落在半个田字格内。 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-30 - **Last Updated**: 2026-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 四路围棋(黑白棋风格) ## 介绍 本项目是基于传统“四路围棋”规则的网页版实现,采用**黑白棋风格的格子落子界面**,取代了传统围棋的交叉点落子方式。棋子落在 4×4 的方格中心,视觉更接近黑白棋(奥赛罗),但保留了围棋的完整规则:气、提子、禁着点。 本版本灵感来源于“九天围棋”棋盘绘制思路,但将“点”改为“格”,使界面更清晰、易上手,适合初学者和儿童学习围棋基础逻辑。 > 汉语田字棋的4字版本,正好可以用来玩4路围棋,采用九天围棋的棋盘绘制方法,不落在交叉点上,落在半个田字格内。 #### 4路九天围棋棋谱 > 4路九天围棋棋谱,参照:网络视频四路围棋实盘制作! ## 软件架构 - **前端技术**:纯 HTML + CSS + JavaScript,无依赖库 - **棋盘结构**:使用 CSS Grid 布局构建 4×4 方格 - **落子逻辑**:点击格子触发落子,通过数组 `board` 记录状态 - **核心算法**: - 使用 DFS 检查棋子群的“气”(空邻点) - 实现提子机制:当对手棋群无气时自动清除 - 检测“自杀”(落子后自身无气且未提子)并禁止 - **交互设计**:实时显示当前轮到的玩家(黑/白),状态提示清晰 ## 棋盘与规则说明 ![输入图片说明](https://foruda.gitee.com/images/1774832041359621878/ff105c00_5631341.png) ### 棋盘样式 - 每个格子大小:80×80 像素 - 边框为 1px 黑线,形成清晰网格 - 棋子为直径 60px 的圆形,居中于格内,带 2px 深灰边框 - 黑子:纯黑色背景 - 白子:纯白色背景 ### 游戏规则(完整围棋规则简化版) 1. 黑子先行,双方轮流落子 2. 棋子必须落在空格内 3. 棋子或棋群必须有“气”(相邻的空格)才能存活 4. 当一方棋群被完全包围(无气)时,立即被提走 5. **禁着点**:不能下在会导致自己棋群无气且未提走对方棋子的位置 6. 无打劫规则(简化版,适合教学) > ✅ **与传统围棋区别**: > 不在交叉点落子,而在“格子”内落子,视觉更直观,更适合初学者理解“围地”概念。 ## 使用说明 1. 打开 `fourgo.html` 文件,浏览器中直接运行 2. 点击任意空格落子,黑子先手 3. 系统自动检测提子并清除无气棋群 4. 每次落子后,状态栏提示当前轮到的玩家 5. 若落子违反规则(自杀),系统自动撤销,不执行 ## 版本更新记录 ### v1.0(2026-03-30)- [黑白棋风格重构](https://gitee.com/siger100/fourgo/issues/IHTG18 "将下面的4路围棋的 js 页游,修改成黑白棋风格的界面,落……") - ✅ 将原“交叉点落子”改为“格子内落子”,界面更清晰 - ✅ 优化棋子大小与定位,增强视觉辨识度 - ✅ 保留完整围棋规则(气、提子、禁着点) - ✅ 代码结构更简洁,注释完整,便于教学与二次开发 - ✅ 移除冗余样式,使用纯 CSS Grid 布局,兼容性更好 ## 参与贡献 1. Fork 本仓库 2. 新建 `Feat_xxx` 分支 3. 提交代码 4. 创建 Pull Request ## 致谢 - 参考视频:网络四路围棋实盘教学 - 棋盘灵感:九天围棋绘制方法 - 本项目适合用于围棋启蒙教学、编程入门实践、儿童逻辑思维训练 > 项目开源,欢迎用于教育用途。非商业用途可自由传播。