

源码简介:
围棋专业版 html代码 基于 HTML5 Canvas 开发的本地双人对弈围棋程序,界面精致、规则严谨,并提供丰富的对局辅助功能。它完全运行于浏览器中,无需安装,打开即可使用,适合棋友面对面切磋、棋谱记录与复盘。
一、界面布局软件采用左右两栏布局,左侧为棋盘及信息区,右侧为垂直排列的功能按钮,整体风格古典雅致。
棋盘区:19×19 标准棋盘,采用立体感棋子、木质底色,并带有星标(天元、小目等)。棋盘支持点击落子,并有落点偏离提示。
计时器:上方显示黑方(⚫)与白方(⚪)的剩余时间,默认每方 30 分钟(可修改源码中的 INIT_TIME 常量)。当前行棋方的计时器会有高亮边框。
统计栏:下方显示黑方提子数、白方提子数以及当前落子手数。
按钮组:右侧竖向排列八个功能按钮,涵盖对局控制、棋谱管理、界面个性化等。
二、核心对局功能1. 落子规则
点击棋盘交叉点即可落子,程序自动检测该位置是否为空。
提子:落子后自动移除被包围且无气的敌方棋子,并累加提子计数。
禁着点检测:
自杀禁止:落子后若己方棋子无气则判为非法。
劫争检测:禁止立即重复上一回合的全局局面(即“劫”)。
落子合法后,切换玩家并启动对应方计时器。
2. 虚一手(Pass)点击“虚一手”按钮表示当前玩家放弃落子,轮由对方行棋。虚手也会记录在历史中,便于连续虚手后的协商终局。3. 悔棋点击“悔棋”可逐步回退至上一手棋前的状态(包括提子数、手数、计时器均回退)。程序内部维护完整的历史栈,确保悔棋逻辑准确。4. 认输点击“认输”立即结束对局,弹出胜负提示,计时停止,棋盘锁定。5. 新局重置所有状态:棋盘清空、计时重置为 30 分钟、提子与手数归零、历史清空,并由黑方先手开始计时。
三、计时规则
采用倒计时制,每方独立计时,当前行棋方计时递减。
计时器每秒更新一次,时间耗尽时自动判负(超时方输)。
切换玩家时计时器自动切换,游戏结束后计时停止。
四、棋谱管理
1. 导出棋谱点击“导出棋谱”可将当前对局的落子序列保存为 JSON 文件。文件格式如下:
json复制下载{ "format": "qingstone-go", "boardSize": 19, "moves": [ { "color": "B", "row": 3, "col": 16 }, { "color": "W", "pass": true }, ... ]}每步棋记录颜色(B/W)、坐标(row, col)或虚手(pass: true)。文件名自动包含时间戳。
2. 导入棋谱点击“导入棋谱”选择本地 JSON 文件,程序会按顺序自动落子,并实时校验每一步的合法性(如颜色顺序、禁着点等)。若棋谱非法,会提示错误并重置棋盘。
五、个性化设置
1. 棋盘颜色点击“棋盘颜色”按钮,通过颜色选择器修改棋盘底色。线条与星标的颜色会根据底色自动加深(保持视觉对比度),实现一键换肤。
2. 背景颜色点击“背景颜色”按钮可修改页面背景的径向渐变主色,程序自动生成对应的深色渐变,营造不同的对局氛围。
六、技术特色
纯前端实现:HTML + CSS + JavaScript,无任何外部依赖,可离线运行。
精确的围棋规则:实现了连通块气数计算、提子、劫争、自杀检测等核心算法。
历史与动作双记录:既支持悔棋所需的完整状态快照(history),也保留了轻量的动作序列(moveHistory)用于导入导出。
视觉细节:棋子使用径向渐变模拟立体感,棋盘线条粗细适中,点击时有轻微反馈(亮度变化)。
响应式布局:棋盘尺寸基于 Canvas 固定 900×900 像素,但通过 CSS 限制最大宽度,在不同屏幕下均可正常显示。

免责声明:
本站提供的一切软件,资源信息仅限用于学习目的,不得将上述内容用于商业或者非法用途,否则,一切后果用户自负。本站信息来自网络收集整理,版权争议与本站无关,您必须在下载后的24小时之内,从您的电脑或者手机中删除上述内容。如果您喜欢该程序和资源,请支持正版,购买注册,得到更好的服务。我们非常重视版权问题,如有侵权请与我们联系处理,敬请谅解!