用 AI Agent 做一个前端小游戏:从提示词到可运行 Demo

📅 2026/6/24 2:52:05
用 AI Agent 做一个前端小游戏:从提示词到可运行 Demo
最近 AI 编程很火但只说“AI Agent 很强”其实没什么意思。这篇文章我们换个玩法直接用 AI Agent 的思路做一个能运行的前端小游戏。不讲太重的模型原理重点就三个字能跑通。文章亮点有完整 HTML/CSS/JS 代码复制即可运行有提示词模板适合直接改成自己的 Demo有 AI Agent 工作流帮你理解它和普通 ChatGPT 的区别适合前端初学者、CSDN 技术号重新发文、小游戏教程选题先看最终效果我们要做的是一个30 秒反应力挑战小游戏玩法很简单页面里随机出现一个黄色圆点点中一次加 1 分每局 30 秒时间结束显示最终分数可以重新开始这个 Demo 不复杂但刚好覆盖了前端小游戏最常见的几个点DOM 操作、状态管理、倒计时、随机位置、移动端适配。一、为什么前端开发者要关注 AI Agent以前我们用 ChatGPT 写代码常见方式是帮我写一个按钮组件。 帮我解释这段 JS。 帮我优化一下 CSS。这类用法当然有帮助但它更像“问一句答一句”。AI Agent 更像一个能持续推进任务的开发助手。你给它一个目标它会尝试拆步骤、写代码、检查问题、继续迭代。简单说对比项普通 ChatGPTAI Agent工作方式一问一答围绕目标连续推进适合任务解释代码、生成片段做 Demo、修 bug、整理项目输出结果偏答案偏可交付成果前端场景写一个函数做一个能玩的小游戏如果再结合 MCP 这类协议AI 工具还能接入更多上下文比如项目文件、文档、浏览器、数据库等。对前端来说这意味着以后很多“从想法到 Demo”的过程会明显变快。二、给 AI Agent 的提示词怎么写很多人觉得 AI 写代码不好用问题往往不是 AI 不行而是需求太模糊。不推荐这样写帮我写一个小游戏。更推荐这样写请用 HTML、CSS、JavaScript 写一个单文件前端小游戏。 游戏名反应力挑战 功能要求 1. 页面中随机出现一个黄色圆点 2. 玩家点击圆点得分 3. 游戏总时长 30 秒 4. 页面显示当前分数和剩余时间 5. 时间结束后显示最终分数 6. 支持重新开始 7. 适配手机端 8. 所有代码写在一个 index.html 中方便直接复制运行这个提示词的关键是技术栈、交付形式、规则、状态、体验要求都说清楚了。AI Agent 最怕“你也不知道自己要什么”。需求越清楚生成结果越接近可用 Demo。三、完整代码复制就能跑新建一个index.html文件把下面代码复制进去用浏览器打开即可。!DOCTYPEhtmlhtmllangzh-CNheadmetacharsetUTF-8/metanameviewportcontentwidthdevice-width, initial-scale1.0/title反应力挑战/titlestyle*{box-sizing:border-box;}body{margin:0;min-height:100vh;font-family:Arial,Microsoft YaHei,sans-serif;background:#101820;color:#fff;display:flex;align-items:center;justify-content:center;}.game{width:min(92vw,520px);padding:20px;}.top{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:18px;font-weight:700;}.board{position:relative;width:100%;aspect-ratio:1 / 1;background:#1f2a33;border:2px solid #3f5668;border-radius:12px;overflow:hidden;touch-action:manipulation;}.target{position:absolute;width:58px;height:58px;border:none;border-radius:50%;background:#ffcc33;box-shadow:0 0 18pxrgba(255,204,51,0.75);cursor:pointer;transform:translate(-50%,-50%);transition:left 0.12s ease,top 0.12s ease,transform 0.08s ease;}.target:active{transform:translate(-50%,-50%)scale(0.88);}.panel{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;}.message{min-height:24px;color:#d8e3ea;}.start{border:0;border-radius:8px;padding:10px 16px;background:#00a884;color:white;font-size:16px;font-weight:700;cursor:pointer;}.start:hover{background:#00bd95;}media(max-width:420px){.top{font-size:16px;}.target{width:50px;height:50px;}}/style/headbodymainclassgamedivclasstopdiv分数spanidscore0/span/divdiv剩余spanidtime30/spans/div/divsectionclassboardidboardaria-label游戏区域buttonclasstargetidtargetaria-label点击得分/button/sectiondivclasspaneldivclassmessageidmessage点击开始测试你的反应速度。/divbuttonclassstartidstart开始游戏/button/div/mainscriptconstboarddocument.querySelector(#board);consttargetdocument.querySelector(#target);constscoreEldocument.querySelector(#score);consttimeEldocument.querySelector(#time);constmessageEldocument.querySelector(#message);conststartBtndocument.querySelector(#start);letscore0;lettimeLeft30;lettimernull;letplayingfalse;functionrandom(min,max){returnMath.floor(Math.random()*(max-min1))min;}functionmoveTarget(){constboardRectboard.getBoundingClientRect();consttargetSizetarget.offsetWidth;constpaddingtargetSize/28;constxrandom(padding,boardRect.width-padding);constyrandom(padding,boardRect.height-padding);target.style.left${x}px;target.style.top${y}px;}functionstartGame(){score0;timeLeft30;playingtrue;scoreEl.textContentscore;timeEl.textContenttimeLeft;messageEl.textContent快点击黄色圆点;startBtn.textContent重新开始;moveTarget();clearInterval(timer);timersetInterval((){timeLeft-1;timeEl.textContenttimeLeft;if(timeLeft0){endGame();}},1000);}functionendGame(){playingfalse;clearInterval(timer);messageEl.textContent游戏结束你的最终分数是${score}分。;}target.addEventListener(click,(){if(!playing)return;score1;scoreEl.textContentscore;moveTarget();});startBtn.addEventListener(click,startGame);window.addEventListener(resize,(){if(playing)moveTarget();});moveTarget();/script/body/html四、这段代码里最值得看的 3 个点1. 游戏状态letscore0;lettimeLeft30;lettimernull;letplayingfalse;小游戏不一定需要复杂框架但一定要有清晰的状态。这里的score、timeLeft、playing就是最核心的游戏状态。2. 随机位置constxrandom(padding,boardRect.width-padding);constyrandom(padding,boardRect.height-padding);这里加了padding是为了避免圆点贴边导致不好点。这个细节很小但会明显影响游戏体验。3. 重新开始clearInterval(timer);timersetInterval((){timeLeft-1;timeEl.textContenttimeLeft;},1000);重新开始前先清掉旧定时器否则多点几次开始按钮倒计时可能会加速。这类小 bug正是让 AI Agent 反复检查时很容易发现的点。五、让文章更有收藏价值继续让 AI 优化第一版能跑之后可以继续给 AI Agent 下第二轮任务请基于当前小游戏继续优化 1. 增加最高分记录使用 localStorage 保存 2. 分数越高圆点越小 3. 增加连击提示 4. 点击空白区域扣 1 分 5. 游戏结束后显示评级例如 S、A、B、C 6. 增加简单动画让圆点出现时更有反馈这样文章也能继续拆成系列第 1 篇AI Agent 做小游戏基础版第 2 篇加最高分和难度系统第 3 篇把原生 JS 版本改成 Vue/React第 4 篇用 AI 优化 UI 和动画对长期没更新的账号来说系列文章比单篇文章更容易形成连续曝光。六、前端开发者怎么真正用好 AI Agent我的建议是不要只让 AI 写一小段代码而是把它当成“Demo 搭建助手”。适合交给 AI Agent 的任务快速做一个小游戏原型写一个后台页面初版把普通 JS 代码拆成模块根据报错信息定位 bug把一个 Demo 改成 Vue/React 版本给技术文章补充代码解释和标题结构但最后一定要自己检查三件事代码能不能跑交互顺不顺逻辑有没有边界 bugAI 负责提速人负责把关。这个组合目前最实用。七、总结AI Agent 不是魔法按钮但它确实能把前端开发里“从 0 到 1”的速度拉快很多。这篇文章我们用一个反应力小游戏跑了一遍完整流程写清需求 - 生成代码 - 浏览器运行 - 检查问题 - 继续优化如果你是前端初学者可以从这种小游戏开始练习如果你已经有项目经验也可以把 AI Agent 当作项目原型工具。技术一直在变但核心能力没变看懂需求、判断代码、优化体验。AI 会让写代码更快而真正拉开差距的还是你对细节的把控。发布小建议封面图可以用本文第一张图标题可选2026 前端新玩法用 AI Agent 做一个能运行的小游戏标签建议AI Agent、前端、JavaScript、小游戏、ChatGPT参考资料Model Context Protocol 官方文档OpenAI Codex 官方介绍GitHub Copilot Agent Mode 文档