Files
2026-04-10 22:59:39 +08:00

129 lines
7.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 实施计划:坦克大战 — 极简商业化
> **前置说明**:项目中已存在旧版复杂商业化代码(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_