← 返回日报
精读 预计 3 分钟

ZCode: Claude Code from the Makers of GLM

摘要

项目从零开始构建浏览器端五子棋:15x15 棋盘渲染、玩家黑棋放置、四个方向连线胜负判断(高亮连线路径)、回合与步数跟踪、重新开始功能;AI 采用启发式评分搜索附近候选点(进攻棋型评分 + 防守点评分 + 中心区域偏好),可选 “AI 关注区域” 覆盖层展示候选位置。已完成独立运行,移除在线字体依赖,直接打开 index.html 即可,无需网络。

荐读理由

把五子棋全逻辑塞进 app.js 后,本地 index.html 就能开浏览器直接玩,棋盘渲染 + 启发式评分(附近候选点叠进攻防守中心偏好)一套就行,不用第三方或在线库

原文

创建一个智能五子棋游戏,让玩家与能够进行策略性落子并准确判断胜负的算法对战。

05:10 PM

执行了 3 分 1 秒

我会先检查当前五子棋项目的结构,确认现有的棋盘状态、渲染和游戏流程已经做到什么程度,再接入 AI 和胜负判断。

已探索

1 search, 1 file失败

已运行

pwd

已搜索

List in ~/ryan/gomoku-ai失败

这个仓库看起来是空的,或者几乎没有现成代码。我现在继续确认目录内容,判断是基于已有应用扩展,还是需要从零开始实现。

已运行

git status --short失败

$

git status --short
2026-04-19 17:10:16.280 xcodebuild[60663:50240053] DVTFilePathFSEvents: Failed to start fs event stream.
git: warning: confstr() failed with code 5: couldn't get path of DARWIN_USER_TEMP_DIR; using /tmp instead
fatal: not a git repository (or any of the parent directories): .git

这里没有现成应用,所以我会从零开始做一个自包含实现。我先确认是否有本地项目约定需要遵守,然后补上浏览器端五子棋、启发式 AI、回合处理,以及明确的五子连线胜负判断。

已写入

,,

+733

已写入

+62

已写入

+471

已写入

+200

完整 UI 和核心逻辑已经就位。我正在验证 JavaScript 是否可以正常解析,并复查落子评分逻辑,覆盖首步响应、平局处理和长连线胜利等边界情况。

已运行

node --check app.js

$

node --check app.js

无输出。

我发现了一个可以避免的依赖:页面原来拉取了在线字体。我正在去掉它,这样整个游戏可以完全本地运行,直接打开 index.html 就不需要网络。

已更新

,

+1 -7

已更新

+1-1

已更新

-6

已在 、 和 中完成一个独立运行的浏览器五子棋游戏。它会渲染一个 15x15 棋盘,允许玩家放置黑棋,支持四个方向的胜负判断,高亮连成五子的路径,跟踪当前回合和步数,并支持重新开始对局。

AI 不是随机落子,而是启发式评分。它会搜索附近候选点,为自身的进攻棋型评分,也为阻挡玩家的防守点评分,再叠加中心区域偏好,最后选择分数最高的一步。同时还提供可选的“AI 关注区域”覆盖层,用来展示它重点考虑过的候选位置。

验证: node --check app.js 已通过。我这里没有运行交互式浏览器会话,所以剩下的一步是在浏览器里打开 并实际体验一局。

app.js

+471-0

index.html

+62-6

styles.css

+201-1

Hacker News · 11 赞 · 1 评 讨论 → 阅读原文 →

这条对你有帮助吗?