前言
当玩家选择“再来一局“时,需要重置游戏引擎的所有状态到初始值。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 存储——高分持久化。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
- GameEngine 完整源码
- 开源鸿蒙跨平台社区
- 第 132 篇:游戏结束判定
- 第 134 篇:Preferences 存储