# 正方形拼图挑战 (Mrs. Perkins 拼布与最少纸片拼接) - 使用说明文档

## 一、游戏简介与问题背景

**正方形拼图挑战（Square Tiling Puzzle）** 是一款基于经典离散几何与组合极值理论打造的沉浸式益智数学网页游戏。

本游戏源自英国著名数学家亨利·杜德尼（Henry Dudeney）在 1917 年提出的世界经典几何难题——**“珀金斯夫人的拼布”（Mrs. Perkins's Quilt）**，并完美复刻了我国奥林匹克数学竞赛中的经典真题（源自项目根目录 `readme.txt`）：

> **“有足够多的 1×1、2×2、3×3、4×4 的正方形纸片，要不重不漏地拼接成 10×10 的正方形，至少需要选用多少块纸片？”**

游戏支持自由选关、多端自适应触控、纯算法 Web Audio 音效、动态问候与祝贺系统、深度数学原理解析与中英双语即时切换，并默认采用优雅温润的**米白纸艺手作风格（Warm Beige）**与暗夜风格切换。

---

## 二、游戏规则与挑战目标

### 1. 核心目标
- 玩家需要在目标棋盘（默认为 10×10）上，使用可用规格的正方形纸片（1×1, 2×2, 3×3, 4×4）进行拼接。
- **无重叠**：任意两张纸片不能有任何重叠区域。
- **无空隙**：必须 100% 完整铺满目标正方形，不能遗留任何空格。
- **极值追求**：追求使用**理论最少数量**的纸片块数！

### 2. 星级评定标准
| 评价等级 | 星级 | 达成条件 | 称号 |
| :--- | :---: | :--- | :--- |
| **理论最优** | ⭐⭐⭐ | 达到严格数学理论最少块数（如 10×10 恰好使用 11 块） | 宗师级几何大师 |
| **优秀策略** | ⭐⭐ | 成功铺满，且使用块数 ≤ 理论最少 + 2 | 几何达人 |
| **达标完成** | ⭐ | 成功完全铺满棋盘 | 拼图能手 |

---

## 三、关卡阶梯与难度选择

点击顶部“目标规格”下拉菜单，可自由切换不同难度的目标正方形：

1. **入门试炼（5×5）**：理论最少 **8 块**，适合熟悉操作与边界对齐。
2. **基础九宫（6×6）**：理论最少 **4 块**（四块 3×3 轻松拼合）。
3. **奇数巧拼（7×7）**：理论最少 **9 块**，体验奇偶互补的精妙空间。
4. **完美对称（8×8）**：理论最少 **4 块**（四块 4×4）。
5. **高阶三阶（9×9）**：理论最少 **9 块**（九块 3×3）。
6. **⭐ 经典真题（10×10）**：奥数原题关卡！理论最少 **11 块**，极具挑战性！
7. **大师极限（11×11）**：理论最少 **15 块**，考验全局空间运筹。
8. **宗师宏构（12×12）**：理论最少 **9 块**（九块 4×4）。
9. **⚙️ 自定义模式（Custom）**：玩家可自由设定边长 $N$（4~12）与最大允许尺寸（1~6）。

---

## 四、操作指南与双模式交互

为了兼顾 Windows PC 鼠标操作与手机、iPad 平板的触控手感，游戏深度适配了**双模交互引擎**：

### 1. 拖拽吸附模式（Drag & Drop，PC 与鼠标推荐）
- **从托盘拖入**：在下方备料区按住纸片（4×4、3×3、2×2、1×1），拖动到棋盘上方，释放即可自动精准吸附到最近网格。
- **吸附提示**：拖动过程中，棋盘上会实时投射半透明幽灵框（绿色表示合法，红色表示冲突/越界）。
- **盘内二次调整**：直接按住棋盘上已放置的纸片，可将其移动到新位置。
- **一键丢弃**：将棋盘上的纸片拖出棋盘范围，或拖到底部红色“拖至此处丢弃 🗑”区域释放，即可删除。

### 2. 点选放置模式（Tap to Place，手机/平板强烈推荐）
- 轻点备料区中的某一规格纸片（选中的纸片会亮起蓝色呼吸光晕）。
- 直接点击棋盘上的任意空格，纸片将以该格为左上角立即放置。
- 再次点击已选中的托盘纸片可取消选中。

### 3. 快速移除与安全清空
- **双击移除**：双击棋盘上的任意纸片即可直接移除。
- **角标红叉**：鼠标悬停或触碰纸片时，点击右上角的白色小红叉 `×` 即可移除。
- **纸艺风格清空确认**：点击工具栏“🗑 清空棋盘”按钮，弹出游戏专属纸艺风格确认弹窗（带清晰二次确认与取消选项）。若误点清空，可立即点击工具栏「↩ 撤销」按键随时复原！

---

## 五、界面风格与大屏视差适配

### 1. 温润米白与暗夜双主题
- **默认米白风格（Warm Beige）**：温润素雅的手作折纸质感，护眼暖色调纸张背景，高清晰度对比暗格。
- **暗夜风格（Dark Slate）**：沉浸式深石板黑蓝配色，适合夜间专注解题。
- **一键切换**：点击顶栏右上角 **`☀️ 米白风格` / `🌙 暗色风格`** 按钮随时切换，设置自动持久化至本地存储。

### 2. 4K 与超高清大屏视差适配
- **`🔍 -` 缩小**：每次按 15% 步进缩小棋盘。
- **`100%`**：实时展示当前画面缩放比例。
- **`🔍 +` 放大**：每次按 15% 步进放大棋盘，最高可放大至 **280%**，即使在 4K 巨幕上也能获得震撼居中大画面。
- **`🔄` 重置**：一键恢复 100% 默认自适应大小。
- **`⛶` 全屏模式**：点击一键切换浏览器沉浸式全屏。

### 3. 终局检视浮动横幅（自由复盘）
拼图通关后，祝贺弹窗底部提供两个按钮：
- **`🔍 查看当前棋盘`**：暂时收起弹窗，棋盘顶部展示悬浮检视横幅，允许玩家自由欣赏精美拼成的棋盘布局，并可随时点击横幅上的【🏆 查看通关评定】或【🔄 再来一局】。
- **`关闭`**：关闭弹窗返回常态。

---

## 六、辅助功能与工具栏

- **↩ 撤销 / ↪ 重做**：支持多达 50 步的历史操作撤销与重做。
- **💡 提示一步**：在当前棋盘基础上，调用后台回溯求解器寻找下一步最优落点，棋盘上高亮金色呼吸光晕指引，顶部伴随柔和 Toast 提示。
- **▶ 最优解演示**：点击后全自动分步演示该关卡的理论最优装配过程，再次点击可随时暂停中止。
- **💬 每日问候**：根据当前时间送上早安/午安/晚安几何问候与解题小贴士。
- **🔊/🔇 音效切换**：纯算法 Web Audio 合成音效（拾起、吸附、撞击、撕纸、通关华彩），支持一键开启或静音。
- **🌐 中英双语切换**：点击右上角语言按钮，界面、规则、数学定理与祝贺弹窗瞬间双语切换。

---

## 七、数学解析与常见问题 (FAQ)

### Q1：为什么我铺满了 10×10，用了 13 块或 14 块，但只拿到 1 星？
A1：这正是本题的奥妙所在！大于 4 的纸片（如 5×5）被严格禁用。虽然 13~15 块很容易填满，但奥数理论极限仅需 **11 块**！建议点击“📐 数学原理”查看唯一构成，或点击“▶ 最优解演示”观察 11 块的穿插手法。

### Q2：如何解出 10×10 的 11 块最优解？
A2：核心技巧在于：**“三块 4×4 占住三个角，中心使用四块 3×3 回旋互扣，余下角落与边缘用四块 2×2 填补，完全不需要任何 1×1 碎纸片！”**

### Q3：这是一种“鸡兔同笼”问题吗？
A3：**是的，这在代数本质上是经典的“高维鸡兔同笼”问题！**
- 如果把正方形纸片看作动物（总块数 $K$ 是“总头数”），正方形面积看作“脚数”：
  - 1×1 是 1 腿独角雏鸡（面积 1）
  - 2×2 是 4 腿兔子（面积 4）
  - 3×3 是 9 腿怪兽（面积 9）
  - 4×4 是 16 腿巨象（面积 16）
- 拼满 100 面积即为列出四元不定方程：$16a + 9b + 4c + d = 100$。
- **但本题超越传统鸡兔同笼之处在于**：普通鸡兔同笼只要代数有非负整数解就一定能装进笼子；而本题即便代数算通（如 $K=8$ 时解出 4 头巨象 + 4 只怪兽，总脚数 $4\times 16 + 4\times 9 = 100$），在二维刚性物理空间中纸片会严重挤压重叠，物理上根本装不进去！因此本题是**“代数鸡兔同笼 + 二维刚性空间拓扑装箱”**的绝妙融合体。
