# 🌱 迷你花园 · 微信小游戏（Canvas 版）

把「迷你花园」从微信小程序重构为**微信小游戏**：入口为 `game.json` + `game.js`，所有界面用 Canvas 绘制。
玩法逻辑（`utils/game.js`）与小程序版完全一致，可直接用**小游戏 AppID** 运行/发布。

## ✨ 功能（同小程序版）

- 四维属性养成：水分 / 阳光 / 养分 / 心情，随时间衰减、会生病
- 成长进化：种子 → 嫩芽 → 幼苗 → 开花 → 结果（开花/结果有属性门槛）
- 4 种植物（向日葵/小番茄/小蘑菇/四叶草）+ 3 个花盆解锁
- 浇水小游戏（Canvas 接雨滴）赚金币
- 每日签到、离线成长报告、10 个成就、植物图鉴
- **真 3D（WebGL + three.js）**：低多边形立体花园——透视田块/立体土垄/立体植物/软阴影/雾气/镜头缓慢环绕（电影感），2D 玻璃 UI 叠加合成
- 无 WebGL 环境自动回退 2D 农场视图
- 默认只显示田地，**点击植物**才弹出属性/照料信息卡，点击空白处收起

## 🚀 运行

1. 打开微信开发者工具 → **导入项目**
2. 目录：`/Users/cheyod/AIGC/DSH/mini-garden-game`
3. AppID：选你自己的**小游戏 AppID**（这次就能用了！）或测试号
4. 点编译，即可在模拟器玩

## 📁 结构

```
mini-garden-game/
├── game.js                    # 入口：主循环/场景管理/触摸/弹窗
├── game.json                  # 小游戏配置
├── project.config.json        # compileType: game
├── scenes/
│   ├── home.js                # 花园主场景
│   ├── shop.js                # 商店（可滚动列表）
│   ├── minigame.js            # 浇水小游戏
│   ├── album.js               # 图鉴
│   └── me.js                  # 我的（签到/成就/重置）
├── utils/
│   ├── game.js                # 玩法纯逻辑（与小程序版共用）
│   ├── store.js               # 本地存档
│   └── draw.js                # Canvas 绘制库 + 植物美术
└── test/logic.test.js         # Node 单元测试
```

## 🧪 测试

```bash
cd mini-garden-game && node --test
```
