GitHub周趋势2026W25 | Headroom 压缩 95% Token、NVIDIA 开源 AI Agent 安全扫描器、…
2026-07-28
2026-08-03 0
分类: ai-development
标签: CodeArts, AI编程, FlappyBird, 网页小游戏, 触屏
难度: 初级
读者: 前端开发者、游戏爱好者、技术写作者
我在码道 TUI 里输入了一段需求:「做一个 Flappy Bird 风格的网页小游戏,单个 HTML 文件即可运行……」约 4 分 8 秒后,一个 463 行、约 12 KB 的完整 Flappy Bird 就自动生成了:点击或空格让小鸟向上飞、松开受重力下落,随机高度的上下柱子穿过得分,撞到柱子或地面游戏结束;深色渐变夜空、闪烁星星加月亮、地面斜纹与远近两层山丘视差滚动,小鸟扇动翅膀还会按速度倾斜,双击 HTML 就能开局。
复制下面的命令到终端,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。把开发需求贴进输入框,码道会自动分析并生成完整代码。
这次开发中,码道展示了以下能力:
drawStars/drawHills/localStorage/渐变色等关键实现是否落盘,并逐条汇报功能清单我想要一个 Flappy Bird 风格的网页小游戏,具体要求:
我在码道 TUI 中贴入需求后,码道先拆解需求,然后直接开始写代码:

生成过程中,码道会边写代码边自检,例如用 grep 核对关键绘制函数与渐变颜色是否真的写进了文件:

约 4 分 8 秒后,码道汇报完成,输出功能清单,并提示文件位置:

双击生成的 flappy-bird.html 在浏览器中直接运行,游戏菜单与完整玩法都正常:

码道生成的代码是一个自包含的 IIFE,核心逻辑非常清晰:
物理与常量:重力、跳跃力度、柱子尺寸与间距、地面高度等全部抽成常量,后续调手感只需要改数字:
const GRAVITY = 0.45;const JUMP = -7.6;const PIPE_W = 64;const PIPE_GAP = 150;const PIPE_SPEED = 2.4;const GROUND_H = 80;
状态机:用 READY / PLAY / OVER 三个状态管理开始、游戏中、结束三态,输入与重开逻辑都按状态分发:
const STATE = { READY: 0, PLAY: 1, OVER: 2 };let state = STATE.READY;
柱子随机生成:上下柱之间固定 150px 空隙,顶柱高度在合法区间随机,保证永远可穿过:
const top = minTop + Math.random() * (maxTop - minTop);
小鸟动画:绘制时先按位置平移、再按速度计算旋转角,扇翅用两帧交替,让小鸟既有飞翔感又符合俯冲姿态:
ctx.translate(bird.x, bird.y);ctx.rotate(bird.rot);
碰撞判定:遍历每根柱子做矩形相交检测,撞到柱子或地面立即切到 OVER 状态,并把得分写进 localStorage:
for (const p of pipes) {// 矩形相交检测,命中则游戏结束}
从这些代码可以看出,码道不只是把功能拼出来,重力数值、柱子节奏、碰撞边界这些影响手感的细节都调得比较到位。
双击 flappy-bird.html 即可开始游戏:按空格或点击屏幕让小鸟上升,穿过一对柱子得 1 分;撞到柱子或地面后游戏结束,画面显示本次得分与历史最高分,点击即可重新开始。深色渐变夜空里有闪烁星星和月亮,地面斜纹与远近两层山丘以不同速度滚动,营造出纵深视差感。
用码道开发 Flappy Bird 这类网页小游戏,最大的感受是需求即产品:把玩法要点说清楚,码道就能给出包含完整交互、动画和视觉风格的成品。对想快速验证创意、或者刚学前端想看看一个完整游戏是怎么写的的同学,让码道先生成一份,再对照源码逐行读,是很好的学习路径。下一轮,我打算让码道挑战更多花样的小游戏,继续记录真实的开发过程。