diff --git a/game/GameManager.ts b/game/GameManager.ts
index 99efbf0..416f7f8 100644
--- a/game/GameManager.ts
+++ b/game/GameManager.ts
@@ -58,6 +58,12 @@ export class GameManager {
// difficulty 保留,不重置
}
+ /** 重置 HC 到初始值(进入下一关时调用,不带入上一关的余量) */
+ resetHC(): void {
+ this.hc = INITIAL_HC
+ this.onHCChange.forEach(cb => cb(this.hc))
+ }
+
/**
* 扣除 HC,余额不足时返回 false
*/
diff --git a/game/GameScene.ts b/game/GameScene.ts
index a29790b..f4181ba 100644
--- a/game/GameScene.ts
+++ b/game/GameScene.ts
@@ -399,6 +399,8 @@ export function createGameScene(PhaserLib: typeof Phaser): typeof Phaser.Scene {
this.waveManager.clearAllEnemies()
// 清除上一关所有防御塔
this.towerManager.clearAllTowers()
+ // 重置 HC:每关重新开始,不带入上关余量
+ this.manager.resetHC()
this.loadMap(ALL_MAPS[nextIndex])
this.hud.enableWaveButton()
this.hud.setWaveButtonText('▶ 召唤下一波')
diff --git a/game/ui/MapTransitionModal.ts b/game/ui/MapTransitionModal.ts
index 0325514..8a50dd7 100644
--- a/game/ui/MapTransitionModal.ts
+++ b/game/ui/MapTransitionModal.ts
@@ -33,7 +33,6 @@ export class MapTransitionModal {
): void {
const manager = GameManager.getInstance()
const kpi = manager.kpi
- const hcReward = 100
const overlay = document.createElement('div')
overlay.id = 'map-transition-overlay'
@@ -92,9 +91,9 @@ export class MapTransitionModal {
`
card.appendChild(hr)
- // KPI & 奖励
+ // KPI & 说明
const statsEl = document.createElement('div')
- statsEl.innerHTML = `KPI: ${kpi}% | 获得奖励: +${hcReward} HC`
+ statsEl.innerHTML = `最终KPI: ${kpi}% | HC 将重置为 200`
statsEl.style.cssText = `
font-size: 20px;
color: #e2e8f0;
@@ -129,10 +128,10 @@ export class MapTransitionModal {
}
card.appendChild(nextEl)
- // 倒计时提示
+ // 倒计时提示(HC 重置提醒)
const countdownEl = document.createElement('div')
countdownEl.id = 'mt-countdown'
- countdownEl.textContent = isFinalMap ? '3秒后返回主菜单...' : '3秒后自动进入下一关...'
+ countdownEl.textContent = isFinalMap ? '3秒后返回主菜单...' : '3秒后进入下一关,HC重置为200...'
countdownEl.style.cssText = `
font-size: 16px;
color: #6b7280;
@@ -151,9 +150,6 @@ export class MapTransitionModal {
document.body.appendChild(overlay)
this.container = overlay
- // 给 HC 奖励
- manager.addHC(hcReward)
-
// 3秒自动触发
let remaining = 3
const tick = () => {
@@ -161,7 +157,7 @@ export class MapTransitionModal {
const el = document.getElementById('mt-countdown')
if (el) el.textContent = isFinalMap
? `${remaining}秒后返回主菜单...`
- : `${remaining}秒后自动进入下一关...`
+ : `${remaining}秒后进入下一关,HC重置为200...`
}
const interval = setInterval(tick, 1000)
this.autoCloseTimer = setTimeout(() => {