HarmonyOS应用开发实战:猫猫大作战-游戏状态的完整重置
·


前言
当玩家选择"再来一局"时,需要重置游戏引擎的所有状态到初始值。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 | 空 Map | clear() |
| score | 0 | 归零 |
| combo | {count:0, multiplier:1} |
连击归零 |
| highestLevel | SMALL | 最高等级复原 |
| nextCatLevel | randomLevel() | 生成新的预览 |
二、总结
reset 方法将游戏引擎所有状态复原到初始值,确保新游戏从干净状态开始。
核心要点:
reset()清空所有引擎状态- 保留 highScore 等持久化数据的重置在 UI 层处理
下一篇预告:第 134 篇将深入 preferences KV 存储——高分持久化。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
更多推荐


所有评论(0)