用码道 AI 编程助手开发合成大西瓜水果合成网页游戏
一段需求码道自动写出 489 行、约 13.7 KB 的单文件水果合成游戏——自研 Canvas 圆球物理重力 6 子步积分 弹性碰撞 质量加权位置修正、樱桃到西瓜 12 级合成链、同级碰撞自动升级、双击 HTML 就能扔水果、合西瓜分类: ai-development标签: CodeArts, AI编程, 合成大西瓜, Canvas, 物理引擎, 网页游戏难度: 初级读者: 前端开发者、编程学习者、技术写作者1. 开篇钩子我在码道 TUI 里输入了一段需求「做一个合成大西瓜水果合成网页游戏单个 HTML 文件即可运行……」约 4 分钟后一个 489 行、约 13.7 KB 的完整游戏就自动生成了水果从顶部掉落两个同等级水果碰撞后自动合成下一级樱桃→草莓→葡萄→柠檬→猕猴桃→番茄→桃子→菠萝→椰子→半个西瓜→西瓜两个西瓜相撞直接消除加 78 分鼠标移动瞄准、点击/空格/下键投放左右方向键微调位置水果堆超过警戒线判定游戏结束合成瞬间有 toast 提示和扩散光环特效。整个物理引擎是码道自研的——重力积分、圆-圆/圆-墙弹性碰撞、按质量加权的穿透修正6 子步迭代保证堆叠稳定不抖。双击 HTML 就能开玩最高分还会存进 localStorage。2. 码道 TUI 安装复制下面的命令到终端3 步完成安装# 1. 一键安装sh-c$(curl-Lhttps://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.sh)# 2. 配置环境变量exportPATH~/.codeartsdoer/installers:$PATHexportCODEARTS_CLI_AK你的AKexportCODEARTS_CLI_SK你的SK# 3. 启动 TUIcodeartsAK/SK 获取https://codearts.huaweicloud.com/portal/settings/cli-auth还没有码道立即开通体验https://developer.huaweicloud.com/codeartsco.html?sourcedmzntgwsfsourceaddmzntgwwbwz安装完成后在命令行或 PowerShell 中输入codearts回车即可打开码道 TUI。把开发需求贴进输入框码道会自动分析并生成完整代码。3. 码道能力一览这次开发中码道展示了以下能力自然语言编程我说「合成大西瓜」码道直接理解成物理引擎 合成逻辑 结束判定 界面美化的完整方案自主技术选型自研 Canvas 圆球物理重力 6 子步积分 圆-圆/圆-墙弹性碰撞 质量加权位置修正不依赖第三方物理库工程细节到位结束判定用maxFallen记录球的最高落点避免刚下落的新球被误判为游戏结束投放后加 480ms 冷却防止连点自检与收尾生成后主动做语法检查验证文件完整性再汇报功能清单4. 任务描述我想要一个「合成大西瓜」水果合成网页游戏Fruit Merge / Watermelon Game具体要求水果从顶部掉落相同等级的两个水果碰撞后合成下一级樱桃→草莓→葡萄→橘子→柠檬→猕猴桃→番茄→桃子→菠萝→椰子→半个西瓜→西瓜Canvas 圆球绘制并区分颜色大小点击或按方向键控制掉落位置水果堆积超过警戒线则游戏结束显示当前分数、合成等级提示和最高分localStorage 持久化提供重新开局按钮深色主题界面美观包含操作提示双击 HTML 文件即可在浏览器中运行5. 开发过程及真实截图我在码道 TUI 中贴入需求后码道开始拆解需求并生成代码码道在 Thinking 中规划物理引擎与游戏机制下落冷却、结束判定、待投放球逻辑约 4 分钟后码道汇报完成文件已创建、输出功能清单双击生成的watermelon.html在浏览器中运行投放几个水果后画布中已堆起草莓等水果左侧面板显示分数/最高分/下一个水果预览和操作提示6. 代码解析码道生成的代码是一个自包含的单页应用核心逻辑非常清晰自研物理引擎每帧跑 6 个子步每步先积分重力与速度再做墙壁和球之间的碰撞求解。球-球碰撞用质量加权ma r²分摊穿透量并用冲量公式更新速度堆叠起来非常稳定functionresolveBalls(){for(leti0;iballs.length;i){for(letji1;jballs.length;j){constaballs[i],bballs[j];if(a.dead||b.dead)continue;constdxb.x-a.x,dyb.y-a.y;constdistMath.hypot(dx,dy);constmina.rb.r;if(distmindist0.0001){if(a.levelb.levela.releasedb.released!a.merging!b.merginga.age2b.age2){merge(a,b);continue;}constnxdx/dist,nydy/dist;constoverlapmin-dist;constmaa.r*a.r,mbb.r*b.r;consttotalmamb;a.x-nx*overlap*(mb/total);a.y-ny*overlap*(mb/total);b.xnx*overlap*(ma/total);b.yny*overlap*(ma/total);// 冲量更新速度...}}}}同级合成两个同等级、且都已释放的球相撞年龄 2 帧防止刚生成的球误合并就标记为 merging在碰撞点生成下一级球并加分functionmerge(a,b){a.mergingb.mergingtrue;a.deadb.deadtrue;constnx(a.xb.x)/2;constny(a.yb.y)/2;constnla.level1;scoreFRUITS[Math.min(nl,FRUITS.length-1)].score;effects.push({x:nx,y:ny,r:a.r,max:a.r30,life:1});if(nlFRUITS.length){balls.push({x:nx,y:ny,vx:0,vy:0,r:FRUITS[nl].r,level:nl,released:true,dead:false,merging:false,maxFallen:ny,age:0});showToast(合成 FRUITS[nl].name);}else{showToast(双西瓜消除78);}}结束判定防误判用maxFallen记录球到达过的最低点只有球确实先掉到警戒线下方、再回到红线以上并趋于静止时才判定结束刚投下的新球不会被误判functioncheckGameOver(){for(constbofballs){if(!b.released)continue;if(b.maxFallenDANGER_Y60b.y-b.rDANGER_YMath.abs(b.vy)0.6Math.abs(b.vx)0.6){endGame();return;}}}投放冷却每次投放后 480ms 内不能再投配合aimX瞄准与左右方向键微调手感流畅。在浏览器中实际验证时连续投放 4 个水果后草莓稳稳堆在画布底部两个草莓相撞瞬间弹出「合成」toast 并出现扩散光环画面稳定不抖动——6 子步物理在 60fps 下表现很好。7. 真实运行效果双击watermelon.html即可开始右侧是深色渐变画布顶部有虚线「警戒线」鼠标在画布上移动时一个半透明水果跟随瞄准、点击或空格/下键投放左右方向键可以微调投放位置。两个同等级水果碰撞后合成下一级并弹出 toast 提示与扩散光环特效逐级合成到「半个西瓜」「西瓜」两个西瓜相撞直接消除加 78 分。左侧面板实时显示当前分数、最高分localStorage 持久化、下一个水果预览以及完整的操作说明与规则水果堆超过警戒线判定游戏结束「重新开局」按钮一键重来触屏设备也支持。8. 能力总结一次生成完整可用从需求到可双击运行的单文件水果合成游戏全程约 4 分钟无需手工补代码物理方案专业自研重力积分 6 子步迭代 弹性碰撞 质量加权修正堆叠稳定不抖动不依赖第三方库交互细节到位瞄准/投放/微调三套操作、投放冷却、防误判结束判定、合成特效与 toast、最高分持久化体验闭环完整工程习惯良好物理求解/合成/渲染/状态管理函数拆分清晰生成后主动做语法检查代码可读性好9. 总结用码道开发合成大西瓜这类网页游戏最大的感受是「需求即产品」把玩法要点说清楚码道就能给出包含自研物理引擎、合成逻辑与视觉特效的成品。对想了解 Canvas 圆球物理、碰撞检测与合并逻辑或者刚学前端想看看「一个游戏是怎么从零写出来的」的同学让码道先生成一份再对照源码逐行读是很好的学习路径。下一轮我打算让码道继续挑战不同类型的网页应用继续记录真实的开发过程。

相关新闻

JEnv实战指南:Java多版本环境管理与自动化切换

JEnv实战指南:Java多版本环境管理与自动化切换

1. 为什么我们需要一个JDK版本切换工具? 如果你是一个Java开发者,或者你的工作环境里需要运行基于Java的应用程序,那么你大概率遇到过这样的场景:手头一个老项目,必须用JDK 8才能编译通过;另一个新项目&…

2026/10/14 0:02:18 阅读更多 →
GPT网页输出的内容快速整理并输出PDF

GPT网页输出的内容快速整理并输出PDF

实现与LLM对话内容的直接复制,然后再markdown格式下修改,然后导出为pdf进行检查修改。定稿后再编辑公式啥的,这样可以避免一开始就编辑公式浪费时间。 1 对话内容导出为Markdown文件,或直接复制出来2 将导出的md文件或复制后内容存…

2026/10/14 0:02:05 阅读更多 →
前端PDF图片提取技术:pdf.js实战指南

前端PDF图片提取技术:pdf.js实战指南

1. 项目概述:前端PDF图片提取方案最近在开发一个文档处理功能时,遇到个需求:用户上传PDF文件后需要自动提取其中的图片资源。这个看似简单的需求,在实际开发中却有不少技术细节需要考虑。经过多轮技术调研,最终选择pdf…

2026/10/8 2:52:21 阅读更多 →

最新新闻

小型超市仓库管理系统

小型超市仓库管理系统

小型超市仓库管理系统选题背景与意义 随着我国城镇化进程的不断推进以及居民消费水平的持续提升,小型超市作为连接城市社区与消费者的重要商业节点,在日常生活中的作用日益凸显。尤其是在一二线城市周边的居民区、城乡结合部及中小城镇,小型超…

2026/10/14 0:02:42 阅读更多 →
小区物业管理系统

小区物业管理系统

小区物业管理系统选题背景与意义 随着我国城镇化进程的不断加快,城市住宅小区的数量持续增长,居民对居住环境品质的要求日益提高。现代社区不仅承担着基本的居住功能,更逐渐演变为集生活、休闲、服务于一体的综合性空间。在此背景下&#xff…

2026/10/14 0:02:42 阅读更多 →
IBM Verify Identity Access 修复 22 个漏洞:两个 9.8 严重 RCE 无需认证

IBM Verify Identity Access 修复 22 个漏洞:两个 9.8 严重 RCE 无需认证

一次补丁,二十二道口子被同时缝上。真正让人睡不着的,是其中两道连“敲门”都省了:攻击者不必拥有账号,不必骗用户点链接,也不必在边界外反复试探,只要目标还跑着受影响的 IBM Verify Identity Access 或 I…

2026/10/14 0:02:42 阅读更多 →
Caffe LISTFILE.txt生成与校验实战指南

Caffe LISTFILE.txt生成与校验实战指南

1. 项目概述:为什么一张LISTFILE.txt能决定训练成败在C Caffe框架下做图像分类或目标检测,你有没有遇到过这样的情况:模型跑起来了,loss也在降,但准确率卡在60%不上不下,反复调参、换网络结构、增大数据量都…

2026/10/14 0:02:42 阅读更多 →
Exchange 管理中心突发故障:微软确认“内部服务器错误”,管理员一度集体打不开后台

Exchange 管理中心突发故障:微软确认“内部服务器错误”,管理员一度集体打不开后台

你正想给员工重置一个邮箱密码,点击熟悉的 Exchange 管理中心网址,屏幕上却弹出一行冷冰冰的“内部服务器错误”——门户直接把你挡在了门外。2026年10月中旬,一场编号为 EX1500900 的突发访问故障悄然袭来,不少负责 Microsoft 36…

2026/10/14 0:02:42 阅读更多 →
等保2.0落地指南:从定级备案到整改自查的完整路线图

等保2.0落地指南:从定级备案到整改自查的完整路线图

简介:一份面向企业网络安全负责人、系统集成商及安全厂家的等保2.0三级基本要求深度解读资料,重点对照等级保护1.0梳理技术要求变化,特别剖析了安全通信网络、安全区域边界、安全计算环境等新增架构,以及合规分数由60分提升至75分…

2026/10/14 0:01:41 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →