汪汪大作战
Go to file
2026-06-10 23:18:14 +08:00
images/wangwang Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00
js Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00
.eslintrc.js Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00
.gitignore Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00
game.js Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00
game.json Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00
project.config.json Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00
project.private.config.json Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00
README.md Initial commit: 汪汪大作战微信小游戏 2026-06-10 23:18:14 +08:00

汪汪大作战(微信小游戏版)

对着麦克风喊"汪"来战斗的实时对战小游戏。

玩法

  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 游戏循环