wangwang/README.md

37 lines
1.3 KiB
Markdown

# 汪汪大作战(微信小游戏版)
对着麦克风喊"汪"来战斗的实时对战小游戏。
## 玩法
1. 在主菜单选择你的狗狗
2. 点击"开始游戏"
3. 倒计时结束后对着麦克风大声、清晰地喊"汪!"
4. 用声音把能量条推到对方一侧即可 K.O. 获胜
## 项目结构
```
├── game.js # 小游戏入口
├── game.json # 小游戏配置
├── project.config.json # 微信开发者工具配置
├── images/wangwang/ # 游戏素材
│ ├── dogs/ # 狗狗立绘
│ ├── ui/ # UI 元素
│ └── enemies/ # 敌人素材(备用)
└── js/
├── main.js # 游戏主逻辑
├── barkDetector.js # 狗叫检测算法
├── audioRecorder.js # 麦克风录音 + PCM 分析
├── ai.js # AI 对手
├── storage.js # 本地存档
└── render.js # Canvas 初始化
```
## 技术要点
- 使用 `RecorderManager.onFrameRecorded` 获取实时 PCM 音频帧
- 基于 RMS 音量 + 过零率 + 中高频能量的状态机实现"汪"声检测
- AI 对手采用 IDLE → BARK → COOLDOWN 状态机
- 使用 `requestAnimationFrame` 驱动 Canvas 2D 游戏循环