HarmonyOS应用开发实战:猫猫大作战-游戏状态的完整重置
2026/7/28 1:41:41 网站建设 项目流程

前言

当玩家选择“再来一局“时,需要重置游戏引擎的所有状态到初始值。GameEngine.reset()方法清空棋盘、猫咪集合、得分等所有数据。

本文以GameEngine.reset()为锚点,讲解游戏状态的完整重置。

提示:本系列不讲 ArkTS 基础语法与环境搭建,假设你已跟完第 1–132 篇。本篇是阶段四第 133 篇。

一、重置方法

1.1 完整重置

reset() { this.initializeBoard(); // 清空棋盘 this.cats.clear(); // 清空猫咪集合 this.score = 0; // 重置得分 this.catCounter = 0; // 重置 ID 计数器 this.combo = { count: 0, multiplier: 1, lastMergeTime: 0 }; // 重置连击 this.maxCombo = 0; // 重置最大连击 this.mergeCount = 0; // 重置合并次数 this.highestLevel = CatLevel.SMALL; // 重置最高等级 this.nextCatLevel = this.randomLevel(); // 生成新预览 }

1.2 重置项

属性重置值说明
board空棋盘Array.fill(null).map(...)
cats空 Mapclear()
score0归零
combo{count:0, multiplier:1}连击归零
highestLevelSMALL最高等级复原
nextCatLevelrandomLevel()生成新的预览

二、总结

reset 方法将游戏引擎所有状态复原到初始值,确保新游戏从干净状态开始。

核心要点

  • reset()清空所有引擎状态
  • 保留 highScore 等持久化数据的重置在 UI 层处理

下一篇预告:第 134 篇将深入 preferences KV 存储——高分持久化。

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

  • GameEngine 完整源码
  • 开源鸿蒙跨平台社区
  • 第 132 篇:游戏结束判定
  • 第 134 篇:Preferences 存储

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询