news 2026/6/24 2:51:59

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 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文件,把下面代码复制进去,用浏览器打开即可。

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><title>反应力挑战</title><style>*{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></head><body><mainclass="game"><divclass="top"><div>分数:<spanid="score">0</span></div><div>剩余:<spanid="time">30</span>s</div></div><sectionclass="board"id="board"aria-label="游戏区域"><buttonclass="target"id="target"aria-label="点击得分"></button></section><divclass="panel"><divclass="message"id="message">点击开始,测试你的反应速度。</div><buttonclass="start"id="start">开始游戏</button></div></main><script>constboard=document.querySelector("#board");consttarget=document.querySelector("#target");constscoreEl=document.querySelector("#score");consttimeEl=document.querySelector("#time");constmessageEl=document.querySelector("#message");conststartBtn=document.querySelector("#start");letscore=0;lettimeLeft=30;lettimer=null;letplaying=false;functionrandom(min,max){returnMath.floor(Math.random()*(max-min+1))+min;}functionmoveTarget(){constboardRect=board.getBoundingClientRect();consttargetSize=target.offsetWidth;constpadding=targetSize/2+8;constx=random(padding,boardRect.width-padding);consty=random(padding,boardRect.height-padding);target.style.left=`${x}px`;target.style.top=`${y}px`;}functionstartGame(){score=0;timeLeft=30;playing=true;scoreEl.textContent=score;timeEl.textContent=timeLeft;messageEl.textContent="快点击黄色圆点!";startBtn.textContent="重新开始";moveTarget();clearInterval(timer);timer=setInterval(()=>{timeLeft-=1;timeEl.textContent=timeLeft;if(timeLeft<=0){endGame();}},1000);}functionendGame(){playing=false;clearInterval(timer);messageEl.textContent=`游戏结束,你的最终分数是${score}分。`;}target.addEventListener("click",()=>{if(!playing)return;score+=1;scoreEl.textContent=score;moveTarget();});startBtn.addEventListener("click",startGame);window.addEventListener("resize",()=>{if(playing)moveTarget();});moveTarget();</script></body></html>

四、这段代码里最值得看的 3 个点

1. 游戏状态

letscore=0;lettimeLeft=30;lettimer=null;letplaying=false;

小游戏不一定需要复杂框架,但一定要有清晰的状态。
这里的scoretimeLeftplaying就是最核心的游戏状态。

2. 随机位置

constx=random(padding,boardRect.width-padding);consty=random(padding,boardRect.height-padding);

这里加了padding,是为了避免圆点贴边导致不好点。
这个细节很小,但会明显影响游戏体验。

3. 重新开始

clearInterval(timer);timer=setInterval(()=>{timeLeft-=1;timeEl.textContent=timeLeft;},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 版本
  • 给技术文章补充代码解释和标题结构

但最后一定要自己检查三件事:

  • 代码能不能跑
  • 交互顺不顺
  • 逻辑有没有边界 bug

AI 负责提速,人负责把关。这个组合目前最实用。

七、总结

AI Agent 不是魔法按钮,但它确实能把前端开发里“从 0 到 1”的速度拉快很多。

这篇文章我们用一个反应力小游戏跑了一遍完整流程:

写清需求 -> 生成代码 -> 浏览器运行 -> 检查问题 -> 继续优化

如果你是前端初学者,可以从这种小游戏开始练习;如果你已经有项目经验,也可以把 AI Agent 当作项目原型工具。

技术一直在变,但核心能力没变:看懂需求、判断代码、优化体验。AI 会让写代码更快,而真正拉开差距的,还是你对细节的把控。

发布小建议

  • 封面图可以用本文第一张图
  • 标题可选:2026 前端新玩法:用 AI Agent 做一个能运行的小游戏
  • 标签建议:AI Agent前端JavaScript小游戏ChatGPT

参考资料

  • Model Context Protocol 官方文档
  • OpenAI Codex 官方介绍
  • GitHub Copilot Agent Mode 文档
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 2:51:39

如何免费获取国家教育平台电子课本:终极离线使用指南

如何免费获取国家教育平台电子课本&#xff1a;终极离线使用指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具&#xff0c;帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载&#xff0c;让您更方便地获取课本内容。 项目地址:…

作者头像 李华
网站建设 2026/6/24 2:47:51

Pingora 深度解析:Cloudflare 下一代 Rust 高性能代理

Pingora 深度解析&#xff1a;Cloudflare 下一代 Rust 高性能代理一、引言在互联网基础设施领域&#xff0c;Nginx 长期以来一直是反向代理和负载均衡的事实标准。然而&#xff0c;随着互联网流量的爆炸式增长和对性能、安全性要求的不断提高&#xff0c;传统的代理服务器架构也…

作者头像 李华
网站建设 2026/6/24 2:47:12

Spring Boot原生集成Nacos的3种方式

不用 Spring Cloud 也能接:Spring Boot 原生集成 Nacos 的 3 种方式,最后一招连 XML 都不用 老项目没有 Spring Cloud,但不是不能接 Nacos 去年接手了一个 Spring Boot 2.6 的项目。没有 Spring Cloud。没有 bootstrap.yml。注册中心用的是手写的 ZooKeeper 客户端。配置管…

作者头像 李华
网站建设 2026/6/24 2:45:06

用心做好每一处细节|我们的2026暑期信奥集训筹备全记录

做信奥集训多年&#xff0c;我们始终认为&#xff1a;孩子备战CSP能否专注刷题、高效提升&#xff0c;舒适的学习环境和贴心的后勤保障至关重要。今年暑期信奥集训报名热度远超往年&#xff0c;为了给孩子们打造优质的备考环境&#xff0c;避免外在条件影响训练状态&#xff0c…

作者头像 李华
网站建设 2026/6/24 2:43:02

【仅限本周开放】AI本地化部署黄金配置矩阵(含27种硬件组合TPS基准测试数据):Intel Xeon vs AMD EPYC vs 昇腾910B实测对比报告

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI工具本地化部署黄金配置矩阵概览 本地化部署AI工具的核心挑战在于平衡性能、安全、可维护性与资源开销。一套经过生产验证的“黄金配置矩阵”需覆盖硬件适配层、运行时环境、模型服务框架及可观测性四…

作者头像 李华