# 实施计划：坦克大战 — 极简商业化

> **前置说明**：项目中已存在旧版复杂商业化代码（V1.0~V2.5），本计划需要先清理废弃模块，再重构保留模块，最后新建功能。

## 现有代码盘点

### 需要删除的文件（旧方案废弃）
- `js/managers/StaminaManager.js` — 体力系统（砍掉）
- `js/managers/SkinManager.js` — 皮肤管理器（砍掉）
- `js/managers/BattlePassManager.js` — 战斗通行证（砍掉）
- `js/managers/PromotionManager.js` — 付费引导（砍掉）
- `js/managers/ShareManager.js` — 社交裂变扩展（砍掉）
- `js/data/SkinData.js` — 皮肤数据（砍掉）
- `js/data/BattlePassData.js` — 通行证数据（砍掉）
- `js/scenes/BattlePassScene.js` — 通行证场景（砍掉）

### 需要重构的文件（保留但大幅简化）
- `js/managers/CurrencyManager.js` — 简化为仅金币，去掉钻石/赛季币
- `js/managers/PaymentManager.js` — 简化为去广告+金币包+新手礼包
- `js/managers/AdManager.js` — 保留核心逻辑，增加每日领金币广告场景
- `js/managers/ComplianceManager.js` — 简化为基础合规
- `js/scenes/ShopScene.js` — 重写为极简商店（去广告+金币包+新手礼包）
- `js/scenes/GameScene.js` — 调整复活弹窗（增加金币复活选项）、集成Buff生效逻辑
- `js/scenes/ResultScene.js` — 调整结算金币发放逻辑
- `js/scenes/TeamResultScene.js` — 同步调整结算金币发放
- `js/scenes/MenuScene.js` — 调整按钮布局（去掉通行证入口，增加领金币按钮）

### 需要新建的文件
- `js/managers/BuffManager.js` — 局前Buff管理器（新功能）
- `js/scenes/BuffSelectScene.js` — 局前Buff选择界面（新功能）

---

## 任务清单

- [ ] 1. 清理废弃模块与引用
   - 删除以下文件：`StaminaManager.js`、`SkinManager.js`、`BattlePassManager.js`、`PromotionManager.js`、`ShareManager.js`、`SkinData.js`、`BattlePassData.js`、`BattlePassScene.js`
   - 清理 `game.js` 中对上述模块的 import 和注册代码
   - 清理 `GameGlobal.js` 中废弃的场景常量（BATTLE_PASS、SHOP 相关的旧定义）
   - 清理 `MenuScene.js` 中通行证入口按钮的代码
   - 清理 `GameScene.js` 中体力检查相关代码
   - 清理 `Tank.js` / `PlayerTank.js` 中皮肤渲染相关代码
   - 清理 `ResultScene.js` / `TeamResultScene.js` 中通行证任务上报代码
   - 清理 `zh.js` / `en.js` 中废弃模块的国际化文案
   - _需求：与旧方案的差异说明_

- [ ] 2. 重构 CurrencyManager — 仅金币货币
   - 移除钻石（diamond）和赛季币（seasonCoin）相关的所有属性和方法
   - 保留金币（gold）的 `add`、`spend`、`getBalance` 方法
   - 设置金币上限 999,999，`add` 时检查溢出
   - 确保 `spend` 方法在余额不足时返回失败并触发事件
   - 保留 StorageManager 持久化和云端同步逻辑
   - _需求：1.1、1.2、1.3_

- [ ] 3. 重构 AdManager — 增加每日领金币广告场景
   - 保留现有的激励视频（复活、双倍结算）和插屏广告核心逻辑
   - 新增 `AD_SCENE.DAILY_GOLD` 广告场景枚举
   - 新增 `showDailyGoldAd()` 方法，播放完毕后触发 `daily_gold_reward` 事件
   - 新增每日领取次数追踪（每日上限3次，跨天重置）
   - 新增 `getDailyGoldRemaining()` 方法返回今日剩余次数
   - 保留15分钟频控和预加载机制
   - _需求：4.1、4.2、4.3、4.4_

- [ ] 4. 重构 PaymentManager — 极简内购
   - 移除月卡、钻石包、皮肤礼包等商品配置
   - 仅保留三个商品：去广告特权（¥18）、金币包（¥6=1000金币）、新手礼包（¥1=500金币）
   - 去广告特权购买后设置永久标记，通过 StorageManager 持久化
   - 新手礼包增加24小时倒计时逻辑（首次进入游戏开始计时，超时后不可购买）
   - 保留微信支付（`wx.requestMidasPayment`）和掉单恢复逻辑
   - _需求：5.1~5.6、6.1~6.3_

- [ ] 5. 重构 GameScene — 复活弹窗双选项 + Buff生效
   - 修改复活弹窗：从仅"广告复活"改为"广告复活 + 金币复活（200金币）"双选项
   - 金币复活调用 CurrencyManager.spend(200)，余额不足时按钮置灰
   - 保留每局仅限1次复活的限制
   - 广告加载失败时隐藏广告按钮，仅展示金币复活
   - 集成 BuffManager：开局时检查已购Buff并施加效果（护盾、双倍火力）
   - 移除旧的体力检查逻辑（如有）
   - _需求：2.1~2.2、3.2_

- [ ] 6. 创建 BuffManager — 局前Buff管理器
   - 定义 Buff 类型枚举：`SHIELD`（护盾，100金币）、`DOUBLE_FIRE`（双倍火力，150金币）
   - 实现 `purchaseBuff(type)` 方法：检查金币余额 → 扣费 → 标记本局Buff
   - 实现 `getActiveBuffs()` 返回当前局已购买的Buff列表
   - 实现 `clearBuffs()` 在每局结束时清除所有Buff
   - 实现护盾逻辑：为 PlayerTank 添加 `shield` 属性，受击时优先消耗护盾
   - 实现双倍火力逻辑：开局10秒内子弹威力×2，到期后恢复
   - _需求：3.1、3.2_

- [ ] 7. 创建 BuffSelectScene — 局前Buff选择界面
   - 在关卡加载前（GameScene 初始化前）展示Buff选择界面
   - 展示两个Buff卡片：护盾（100金币）、双倍火力（150金币），显示当前金币余额
   - 点击购买时调用 BuffManager.purchaseBuff()，余额不足时提示并引导
   - 提供"跳过"按钮直接进入游戏
   - 护盾和双倍火力可同时购买
   - 购买完成或跳过后，切换到 GameScene 开始游戏
   - _需求：3.1.1~3.1.4、7.4_

- [ ] 8. 重构 ShopScene — 极简商店界面
   - 重写商店界面，移除皮肤商店相关内容
   - 顶部显示当前金币余额
   - 展示三个商品卡片：去广告特权（¥18，已购显示"已拥有"）、金币包（¥6=1000金币）、新手礼包（¥1=500金币，24小时倒计时）
   - 点击购买调用 PaymentManager 对应方法
   - 新手礼包超过24小时后自动隐藏
   - _需求：5.1~5.2、6.1~6.2、7.3_

- [ ] 9. 重构 MenuScene — 主界面商业化入口
   - 移除通行证入口按钮
   - 新增"领金币"按钮，显示今日剩余次数（如"🪙 领金币 3/3"），点击调用 AdManager.showDailyGoldAd()
   - 当日次数用完后按钮置灰，显示"明日再来"
   - 保留"商店"按钮入口
   - 顶部常驻显示当前金币数量
   - 调整按钮布局确保所有按钮可见
   - _需求：7.1~7.4、4.3_

- [ ] 10. 重构 ResultScene / TeamResultScene — 结算金币发放
   - 结算时计算基础金币奖励（基础值50，可根据表现浮动）
   - 展示"观看广告双倍金币"按钮，观看后翻倍发放
   - 调用 CurrencyManager.add() 发放金币
   - 移除通行证任务进度上报代码
   - 保留插屏广告展示逻辑（每3局一次，去广告特权跳过）
   - _需求：1.1.1~1.1.2、4.4、4.2_

- [ ] 11. 简化 ComplianceManager + 注册管理器 + 国际化
   - 简化 ComplianceManager：仅保留未成年人广告次数限制（每日≤5次）和消费限制（月≤¥400）
   - 在 `game.js` 中注册 BuffManager，移除废弃管理器的注册
   - 更新 `zh.js` / `en.js`：添加局前Buff、领金币、极简商店相关文案，移除废弃文案
   - _需求：8.1~8.2_
