文章配图:游戏状态的完整重置

页面预览

前言

当玩家选择"再来一局"时,需要重置游戏引擎的所有状态到初始值。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 存储——高分持久化。

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


相关资源:

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐