HarmonyOS應(yīng)用開發(fā)實(shí)戰(zhàn):貓貓大作戰(zhàn)-reset 游戲重置
前言在「貓貓大作戰(zhàn)」中游戲重置在「重新開始」和「返回主菜單」時(shí)觸發(fā)。重置需要清理棋盤、歸零得分、停止定時(shí)器、恢復(fù)初始狀態(tài)。一個(gè)干凈的重置實(shí)現(xiàn)能避免狀態(tài)殘留導(dǎo)致的 Bug。一、引擎重置exportclassGameEngine{reset():void{this.boardArray.from({length:GameConfig.BOARD_HEIGHT},()Array(GameConfig.BOARD_WIDTH).fill(null));this.score0;this.combo{count:0,multiplier:1,lastMergeTime:0};this.pendingMerges[];this.nextCatLevelCatLevel.SMALL;}}二、頁(yè)面重置restartGame(){// 1. 清理定時(shí)器this.clearTimers();// 2. 重置引擎this.gameEngine.reset();// 3. 重置 UI 狀態(tài)this.score0;this.combo{count:0,multiplier:1,lastMergeTime:0};this.cats[];this.gameTime0;this.isNewHighfalse;this.overlayOpacity0;// 4. 切換到游戲狀態(tài)this.gameStateGameState.PLAYING;// 5. 啟動(dòng)定時(shí)器this.startTimers();}backToMenu(){this.clearTimers();this.gameEngine.reset();this.gameStateGameState.IDLE;}三、重置檢查清單項(xiàng)操作驗(yàn)證棋盤全部填 null全空得分歸零score 0連擊重置count0, multiplier1定時(shí)器清除全部無殘留 setInterval貓咪列表清空cats.length 0游戲時(shí)間歸零gameTime 0四、防止雙重重置privateisResetting:booleanfalse;restartGame(){if(this.isResetting)return;// 防止重復(fù)點(diǎn)擊this.isResettingtrue;// ... 重置邏輯this.isResettingfalse;}五、最佳實(shí)踐引擎和 UI 分別重置引擎只重置數(shù)據(jù)UI 層額外清理狀態(tài)定時(shí)器清理優(yōu)先重置前先清理定時(shí)器防止重置過程中觸發(fā)回調(diào)防止重復(fù)重置用標(biāo)志位控制重置后驗(yàn)證可選調(diào)用isGameOver()驗(yàn)證已恢復(fù)總結(jié)游戲重置需要清理棋盤、歸零得分、停止定時(shí)器。核心要點(diǎn)reset()引擎重置、restartGame()完整重置流程、 定時(shí)器清理防殘留、 標(biāo)志位防重復(fù)。如果這篇文章對(duì)你有幫助歡迎點(diǎn)贊、收藏?、關(guān)注你的支持是我持續(xù)創(chuàng)作的動(dòng)力相關(guān)資源GameEngine 源碼第 132 篇game-over第 134 篇preferences第 135 篇rdb

相關(guān)新聞

企業(yè)AI知識(shí)庫(kù)搭建指南:從架構(gòu)設(shè)計(jì)到落地的全鏈路工程實(shí)踐

企業(yè)AI知識(shí)庫(kù)搭建指南:從架構(gòu)設(shè)計(jì)到落地的全鏈路工程實(shí)踐

企業(yè)AI知識(shí)庫(kù)搭建指南:從架構(gòu)設(shè)計(jì)到落地的全鏈路工程實(shí)踐 [配圖:企業(yè)AI知識(shí)庫(kù)搭建全流程架構(gòu)圖,展示從需求分析到部署上線的完整鏈路] 前言 隨著大模型技術(shù)的快速演進(jìn),企業(yè)AI知識(shí)庫(kù)已從"概念驗(yàn)證"階段進(jìn)入"規(guī)?;洹?/p>

2026/7/29 0:55:26 閱讀更多
基于金稅四期的財(cái)稅風(fēng)控規(guī)則引擎與業(yè)財(cái)一體化架構(gòu)實(shí)戰(zhàn)

基于金稅四期的財(cái)稅風(fēng)控規(guī)則引擎與業(yè)財(cái)一體化架構(gòu)實(shí)戰(zhàn)

隨著金稅四期全面上線,傳統(tǒng)財(cái)稅系統(tǒng)在面對(duì)海量高頻風(fēng)險(xiǎn)預(yù)警指標(biāo)時(shí),常因數(shù)據(jù)孤島和規(guī)則硬編碼導(dǎo)致合規(guī)響應(yīng)滯后。企業(yè)在進(jìn)行IPO財(cái)務(wù)規(guī)范或高企申報(bào)時(shí),業(yè)財(cái)數(shù)據(jù)不一致往往成為致命瓶頸。本文將結(jié)合高頓咨詢?cè)贐端財(cái)稅數(shù)字化領(lǐng)域的工程實(shí)踐&#…

2026/7/29 9:26:11 閱讀更多
Flexx桌面應(yīng)用安全加固實(shí)戰(zhàn):從代碼到部署的全面防護(hù)指南

Flexx桌面應(yīng)用安全加固實(shí)戰(zhàn):從代碼到部署的全面防護(hù)指南

1. 項(xiàng)目概述:為什么Flexx應(yīng)用需要特別的安全關(guān)注? 最近在社區(qū)里看到不少朋友開始用Flexx來開發(fā)桌面應(yīng)用,尤其是那些想把Web應(yīng)用打包成獨(dú)立桌面程序的項(xiàng)目。Flexx這個(gè)框架確實(shí)挺有意思,它讓你能用純Python寫前端界面,然…

2026/7/29 9:26:11 閱讀更多
Go與C語言面向?qū)ο缶幊虒?duì)比:結(jié)構(gòu)體、方法接收者與函數(shù)指針模擬類

Go與C語言面向?qū)ο缶幊虒?duì)比:結(jié)構(gòu)體、方法接收者與函數(shù)指針模擬類

1. 項(xiàng)目概述:當(dāng)Go遇上C,兩種“類”思維的碰撞在編程語言的演進(jìn)長(zhǎng)河中,面向?qū)ο缶幊?amp;#xff08;OOP)無疑是一座重要的里程碑。當(dāng)我們談?wù)摗邦悺睍r(shí),腦海中首先浮現(xiàn)的可能是Java、C這類以類為第一公民的語言。但今天&…

2026/7/29 9:26:11 閱讀更多
Arduino模擬信號(hào)與PWM控制:從電位器到LED亮度調(diào)節(jié)的完整實(shí)現(xiàn)

Arduino模擬信號(hào)與PWM控制:從電位器到LED亮度調(diào)節(jié)的完整實(shí)現(xiàn)

1. 從旋鈕到光暈:一個(gè)燈光調(diào)節(jié)器的誕生 最近在整理工作室的舊物,翻出來一塊吃灰已久的Arduino Edison開發(fā)板。看著它,我忽然想起很多朋友,包括當(dāng)年的我自己,在入門嵌入式開發(fā)時(shí),常常會(huì)卡在一個(gè)看似簡(jiǎn)單卻至…

2026/7/29 9:26:11 閱讀更多
國(guó)內(nèi)專業(yè)網(wǎng)站建設(shè)公司盤點(diǎn),2026 精選十家高口碑網(wǎng)站設(shè)計(jì)公司全方位梳理

國(guó)內(nèi)專業(yè)網(wǎng)站建設(shè)公司盤點(diǎn),2026 精選十家高口碑網(wǎng)站設(shè)計(jì)公司全方位梳理

一、2026 網(wǎng)站建設(shè)行業(yè)現(xiàn)狀深度解析生成式 AI、GEO 搜索優(yōu)化、llms 協(xié)議規(guī)范、多系統(tǒng)數(shù)據(jù)互通等新技術(shù)落地,市場(chǎng)對(duì)網(wǎng)站建設(shè)服務(wù)商的能力要求發(fā)生根本性分層。中大型企業(yè)、上市公司、出海品牌更青睞兼具行業(yè)深耕、定制開發(fā)、AI 營(yíng)銷配套、長(zhǎng)期運(yùn)維迭代能力的綜合服務(wù)…

2026/7/29 9:26:11 閱讀更多
Agent 平臺(tái)化思考:從定制化開發(fā)到通用 Agent 平臺(tái)的架構(gòu)演進(jìn)

Agent 平臺(tái)化思考:從定制化開發(fā)到通用 Agent 平臺(tái)的架構(gòu)演進(jìn)

Agent 平臺(tái)化思考:從定制化開發(fā)到通用 Agent 平臺(tái)的架構(gòu)演進(jìn) 一、從"一個(gè) Agent 一個(gè)項(xiàng)目"到"Agent 平臺(tái)":工程化必經(jīng)之路 2026 年初,某 SaaS 公司面臨一個(gè)困境:過去一年,他們?yōu)椴煌蛻粜枨箝_發(fā)了…

2026/7/29 9:16:11 閱讀更多
面試官大笑:“一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,不比 1 個(gè)快 5 倍?“我搖頭:“快不了,還可能更慢“

面試官大笑:“一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,不比 1 個(gè)快 5 倍?“我搖頭:“快不了,還可能更慢“

前兩個(gè)月,我在重構(gòu) AlgoMooc 網(wǎng)站過程中,發(fā)現(xiàn)一個(gè)問題:在 Claude Code 里把一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,結(jié)果可能比 1 個(gè) agent 從頭干到尾還慢? 大多數(shù)人的第一反應(yīng)是反過來的:活是并行干的&#…

2026/7/29 0:15:24 閱讀更多
# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實(shí)戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號(hào)與動(dòng)畫渲染精講

# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實(shí)戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號(hào)與動(dòng)畫渲染精講

一、應(yīng)用概述 骰子(Dice Roller) 是一款經(jīng)典的休閑娛樂應(yīng)用,模擬了真實(shí)擲骰子的過程。應(yīng)用投擲兩個(gè)骰子(六面標(biāo)準(zhǔn)骰),使用 Unicode 骰面符號(hào)直觀展示每個(gè)骰子的點(diǎn)數(shù),并伴有快速滾動(dòng)的動(dòng)畫效果。…

2026/7/29 0:15:24 閱讀更多