作者:互联网 时间: 2026-08-03 12:52:56
分类: ai-development
标签: CodeArts, AI编程, Gomoku, 网页小游戏, Canvas
难度: 中级
读者: 前端开发者、编程学习者、技术写作者
我在码道 TUI 里输入了一段需求:「做一个五子棋(Gomoku)网页游戏,单个 HTML 文件即可运行……」约 5 分 18 秒后,一个 472 行、约 14 KB 的完整五子棋游戏就自动生成了:Canvas 绘制 15x15 木色渐变棋盘,带星位标记;玩家执黑先手,AI 执白自动回应,AI 用四方向连子评估的启发式评分选点——连五 199999、活四 10000、冲四/活三 1000、冲三 100、活二 100、眠二 10,进攻分与防守分×8.9 综合决策,必防对方成五;最后落子红圈高亮,五连珠时红色连线高亮并弹窗提示胜负;「新游戏」重置、「悔棋」撤销到玩家上一手前,棋盘状态与胜负数用 localStorage 持久化。双击 HTML 就能和 AI 对弈。
复制下面的命令到终端,3 步完成安装:
# 1. 一键安装sh -c "$(curl -L https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.sh)"# 2. 配置环境变量export PATH=~/.codeartsdoer/installers:$PATHexport CODEARTS_CLI_AK=你的AKexport CODEARTS_CLI_SK=你的SK# 3. 启动 TUIcodearts
AK/SK 获取:https://codearts.huaweicloud.com/portal/settings/cli-auth
安装完成后,在命令行或 PowerShell 中输入 codearts 回车,即可打开码道 TUI。把开发需求贴进输入框,码道会自动分析并生成完整代码。
这次开发中,码道展示了以下能力:
我想要一个五子棋(Gomoku)网页游戏,具体要求:
我在码道 TUI 中贴入需求后,码道开始拆解需求并生成代码:

生成过程中,码道设计 AI 评分与防守逻辑、胜负判定,代码逐行可见:

约 5 分 18 秒后,码道汇报完成,输出实现要点,并提示文件位置:

双击生成的 gomoku.html 在浏览器中直接运行,玩家落黑子后 AI 自动应白子,棋盘与统计正常:

码道生成的代码是一个自包含的单页应用,核心逻辑非常清晰:
棋盘与落子:Canvas 绘制 15x15 木色渐变棋盘,点击时把鼠标坐标映射到最近的交叉点,落黑子后调用 AI:
function getPos(clientX, clientY) {const rect = canvas.getBoundingClientRect();const cx = (clientX - rect.left) / rect.width * w;const cy = (clientY - rect.top) / rect.height * h;return { x: Math.round(cx), y: Math.round(cy) };}
AI 评分:对每个空点沿横竖撇捺四方向统计连子棋型,按分值表评分,进攻分 + 防守分×8.9 综合选点:
// 棋型分值: 连五 199999 / 活四 10000 / 冲四 1000 / 活三 1000 / 冲三 100 / 活二 100 / 眠二 10const score = attackScore * 1.0 + defendScore * 8.9;
胜负判定:落子后沿四方向检查是否五连,命中则红色连线高亮并弹窗:
function endGame(text) {gameOver = true;draw();saveState();document.getElementById('modalText').textContent = text;document.getElementById('modal').classList.add('show');}
持久化:棋盘状态、落子历史与胜负数写入 localStorage,刷新页面自动恢复对局:
function saveState() {localStorage.setItem('gomokuBoard', JSON.stringify(board));localStorage.setItem('gomokuStats', JSON.stringify(stats));}
从这些代码可以看出,码道不只把功能拼出来,棋型评分、防守权重、悔棋历史、续局恢复这些影响体验的细节也都处理得比较到位。
双击 gomoku.html 即可开始对弈:页面顶部显示「胜 0 负 0」统计,中间是 15x15 木色渐变棋盘,星位标记清晰;点击棋盘交叉点落下黑子,AI 几乎立即在合理位置落下白子并高亮;玩家可通过「悔棋」撤销到上一手重新思考,「新游戏」随时重置。当一方五子连珠时,获胜连线红色高亮并弹出胜负弹窗,点击「再来一局」继续。棋局中途刷新页面可自动恢复。木色棋盘配合黑白棋子,视觉舒适,手机上棋盘自动缩放、触屏可直接落子。
用码道开发五子棋这类网页游戏,最大的感受是「需求即产品」:把功能要点说清楚,码道就能给出包含完整技术方案与视觉风格的成品。对想快速体验人机对弈、或者刚学前端想看看「启发式评分 AI 是怎么写的」的同学,让码道先生成一份,再对照源码逐行读,是很好的学习路径。下一轮,我打算让码道继续挑战不同类型的网页应用,继续记录真实的开发过程。