HarmonyOS应用开发实战:猫猫大作战-merge-detect 合并检测算法
📅 2026/7/30 3:02:49
👁️ 次浏览
前言在「猫猫大作战」中每次猫咪着陆或新猫出现后需要检测是否有三只以上同级猫咪相邻。合并检测是游戏逻辑的核心环节。一、合并检测privatedetectMerges():void{consttoMerge:{x:number;y:number}[][];// 遍历棋盘所有位置for(lety0;yGameConfig.BOARD_HEIGHT;y){for(letx0;xGameConfig.BOARD_WIDTH;x){constcatthis.board[y][x];if(!cat||cat.falling)continue;// 查找同级邻居constneighborsthis.findSameLevelNeighbors(x,y,cat.level);if(neighbors.length2){toMerge.push({x,y},...neighbors.slice(0,2));}}}this.processMergeBatch(toMerge);}二、邻居查找privatefindSameLevelNeighbors(x:number,y:number,level:CatLevel):{x:number;y:number}[]{constdirections[[-1,0],[1,0],// 左右[0,-1],[0,1],// 上下];constneighbors:{x:number;y:number}[][];for(const[dx,dy]ofdirections){constnxxdx;constnyydy;// 边界检查if(nx0||nx5||ny0||ny8)continue;constcatthis.board[ny][nx];if(cat!cat.fallingcat.levellevel){neighbors.push({x:nx,y:ny});}}returnneighbors;}三、批量合并privateprocessMergeBatch(cats:{x:number;y:number}[]):void{// 去重constuniquenewSet(cats.map(c${c.x},${c.y}));if(unique.size3)return;// 取前三个consttoRemoveArray.from(unique).slice(0,3).map(k{const[x,y]k.split(,).map(Number);return{x,y};});// 执行合并constfirsttoRemove[0];constcatthis.board[first.y][first.x];if(!cat)return;// 移除this.removeCats(toRemove);// 升级constnewLevelMath.min(cat.level1,CatLevel.LEGENDARY)asCatLevel;this.createCatAt(first.x,first.y,newLevel);// 递归this.tryMergeAt(first.x,first.y);}四、检测时机时机触发说明猫咪着陆后立即检测新停落的猫合并升级后递归检测新生成的猫新猫投放后检测新猫位置防止重叠五、最佳实践全盘扫描 vs 局部检测着陆猫只检测局部批量合并全盘扫描去重处理同一个猫可能被多次检测到递归链合并后立即检测新位置性能控制MAX_CHAIN防止无限递归总结合并检测扫描棋盘查找同级相邻猫咪触发合并升级。核心要点四方向邻居检测、 批量合并去重、 递归链式响应。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源GameEngine 源码第 124 篇forEch-update第 126 篇level-up第 130 篇merge-chain
本文关键词:Geo2与Zn反应说实话,每次看到有人拿着“Geo2与Zn反应”这种听起来高大上但实际没厘清概念的词来忽悠人,我就想笑。你是不是也遇到过这种情况?为了追求所谓的“高效能”,盲目相信某些实验室里还没跑通的数据,结果在实际应用中碰了一鼻子灰?今天咱们不聊那些虚…
📅 2026/7/30 3:01:13
写这篇文章时,配图连续出了两次错。
第一张 Harness 信息图,把「执行控制」画了两遍。
第二张 Graph State 图,四个主标签都对,却擅自补了一段看起来专业、实际不严谨的小字。
有意思的是,两次调用都返回成功。文件…
📅 2026/7/30 3:01:46
注意力机制的效率革命回顾:从O(n)到O(n)的演进路径与技术取舍
一、问题的起点:二次复杂度的代价
自注意力机制是Transformer架构的核心创新,但也是其最昂贵的组件。标准缩放点积注意力的计算过程可以分解为三步:计算Q和K的点积得…
📅 2026/7/30 3:01:46
1. AI论文写作辅助工具的价值与现状作为一名在学术领域深耕多年的研究者,我深刻理解论文写作过程中的痛点。从文献综述到实验设计,从数据分析到论文撰写,每个环节都需要耗费大量时间精力。近年来AI技术的快速发展为学术写作带来了革命性变化&…
📅 2026/7/30 4:01:42
这是一款免费开源的屏幕自动滑动工具,专为测试与内容浏览场景设计。
摘要:本文介绍一款免费开源的安卓屏幕自动滑动工具,通过模拟手指滑动实现自动化操作,无需 root 权限。其核心优势包括完全免费、无广告、支持上下左右四向滑动…
📅 2026/7/30 4:01:42
在工业自动化领域,上位机作为人机交互与数据监控的核心枢纽,其稳定性与可靠性直接关乎生产安全与效率。然而,传统上位机开发常饱受内存泄漏、空指针异常、多线程数据竞争等顽疾困扰,尤其在724小时不间断运行的严苛环境下ÿ…
📅 2026/7/30 4:01:42
1. 项目概述:当AI开始帮你做PPT最近两年,AI工具井喷,从写代码到画图,现在终于轮到我们最熟悉的办公场景了。做PPT,这个让无数职场人、学生党、创业者又爱又恨的“体力活”,终于迎来了解放生产力的曙光。我作…
📅 2026/7/30 4:01:42
1. 项目概述:一场信息战与策略博弈又到了一年保研季,看着学弟学妹们四处打听消息、焦虑不安的样子,仿佛看到了几年前的自己。我当年参加了南开大学、西安交通大学计算机学院、中国科学技术大学先进技术研究院、天津大学、东南大学、电子科技大…
📅 2026/7/30 4:01:42
1. OpenClaw项目概述:从技术极客到大众工具的进化OpenClaw(小龙虾)这个项目最初在开发者社区引发17万人围观时,还只是一个需要复杂命令行操作的技术Demo。经过三个月的迭代,开发团队终于发布了"傻瓜版"解决方…
📅 2026/7/30 4:00:42
本文关键词:geo2是共价化合物哎,说实话,每次看到化学题里那些弯弯绕绕的电子式,我就头大。特别是遇到那种非要让你判断是离子还是共价的,心里就发毛。今天咱不整那些虚头巴脑的定义,就聊聊二氧化硅,也就是大家常说的硅石、石英,很多人会误写成geo2,虽然化学式不对,但…
📅 2026/7/30 0:00:24
B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…
📅 2026/7/30 0:00:26
Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer
您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…
📅 2026/7/30 0:00:26
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/30 1:16:07
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/30 1:16:07
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/30 1:16:07
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/29 7:15:11
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/29 17:15:46
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/29 5:15:05