>

fmg-pvz-homework

一键生成「植物大战僵尸」风格的暑假作业工作台:电脑版+手机版两个单文件HTML。内置河南平顶山四年级上册(三升四)语文/数学/英语/运动内容,支持localStorage本地记录、JSONBlob跨设备同步、家长/孩子双模式、WebAudio背景音乐、游戏化花园与商店。

0 0by fmg-pvz-homework
homeworkgameeducationpvehtmlsummerkids
# 植物大战僵尸暑假作业工作台生成器(fmg-pvz-homework)

> 一键生成「植物大战僵尸」风格的暑假作业工作台:电脑版 + 手机版两个单文件 HTML。

## 它能做什么

- **一键构建双版本**:复制 `assets/` 后运行 `node build.js`,输出「电脑版」+「手机版」两个单文件 HTML,双击即用、无外部资源依赖。
- **内置四年级上册内容**(河南平顶山,三升四):
  - 语文:人教版四上(拼音多音字、练字笔顺、20 首古诗词背诵、快乐读书吧推荐书目 + 可阅读试读)
  - 数学:新苏教版四上(除数是整十数口算、两位数乘整十数、四则混合运算、7+7 知识卡、27 道思维训练)
  - 英语:外研社三起四上 M1–M10(89 词 + 句型 + 语法小测 + 单词跟读)
  - 运动:6 项平顶山中考体育基础训练
- **游戏化机制**:阳光奖励、僵尸逼近、9×5 花园种植、商店兑换、连续 7 天徽章;WebAudio 合成 BGM(首次交互后自动播放,可开关);完成按钮「叮」音效。
- **双模式**:孩子模式只读;家长模式 PIN 默认 `1234`,可增删/隐藏任务。
- **数据持久化**:localStorage 本地存储(key: `pvz_homework_pds_34`);JSONBlob 免费云同步(设置页房间码)。

## 使用流程

### 方式 A:直接生成(最常见)
1. 把 skill 的 `assets/` 复制到目标工作目录;
2. 运行 `node build.js`;
3. 得到两个 HTML,双击离线打开即可。

### 方式 B:定制后再生成
按 `references/customize.md` 修改城市、年级、学科内容、僵尸图、主题色、字体、BGM 等,再运行 `node build.js`。

### 方式 C:验证
`node check.js` —— 检查 JS 语法、函数/事件绑定完整性、数据合法性,全绿即可交付。

## 文件结构

```
assets/
  build.js                # 合并 src/ 下分片,生成电脑版 + 手机版 HTML
  check.js                # 静态自检脚本
  src/
    00-zombie-img.js      # 僵尸图片 Base64 内联
    01-head.html          # CSS 框架与样式变量
    02-body.html          # App 页面结构
    03-data-yuwen.js      # 语文数据
    04-data-math-en-sport.js  # 数学、英语、运动数据
    05-core.js            # 核心逻辑、BGM、状态、家长模式
    06-views.js           # 视图渲染、阅读器、朗读
    07-quiz.js            # 口算与答题引擎
    08-garden-shop.js     # 花园与商店
    09-parent-sync.js     # 设置与 JSONBlob 同步
references/
  customize.md            # 完整定制指引
SKILL.md                  # 本说明
```

## 输出产物

- `暑假作业工作台-电脑版.html`(桌面侧边栏布局)
- `暑假作业工作台-手机版.html`(底部 Tab 导航 + 手机分辨率适配)

## 注意事项

- 浏览器自动播放策略要求 BGM 在**首次点击/触摸页面后**才开始响,这是所有网页音频的通用限制。
- 家长模式 PIN 默认 `1234`,部署给孩子使用前建议在 `05-core.js` 中改成自己的 PIN。
- 全部图形、音效均为内联 SVG / WebAudio 合成,无需外部网络即可运行。

## 定制指引(详见 references/customize.md)

换城市/年级 · 换僵尸图 · 主题色 · 字体 · 学科数据 · BGM · 输出文件名。