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

7.2 KiB
Raw Permalink Blame History

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

前置说明:项目中已存在旧版复杂商业化代码(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.jsSkinManager.jsBattlePassManager.jsPromotionManager.jsShareManager.jsSkinData.jsBattlePassData.jsBattlePassScene.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)的 addspendgetBalance 方法
    • 设置金币上限 999,999add 时检查溢出
    • 确保 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.15.6、6.16.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.15.2、6.16.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