/** * 格子仿画 - 7x7 网格形状数据 * 适用于中等难度,复杂图案 */ import { ShapeTemplate } from '../types/gridTypes'; // ==================== 7x7 形状模板 ==================== /** 所有 7x7 形状模板 */ export const ALL_7X7_SHAPES: ShapeTemplate[] = [ // 南瓜头 - 对称涂色(仅存储左半部分) { id: 'pumpkin-7x7-001', name: '南瓜头', category: 'character', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, // 只存储了左半部分 cells: [ // 茎(在对称轴上) { x: 3, y: 0, color: '#F9A857' }, // 脸部轮廓(浅绿色)- 左半部分 { x: 0, y: 1, color: '#B2D94B' }, { x: 1, y: 1, color: '#B2D94B' }, { x: 0, y: 2, color: '#B2D94B' }, { x: 1, y: 2, color: '#B2D94B' }, { x: 0, y: 3, color: '#B2D94B' }, { x: 1, y: 3, color: '#B2D94B' }, { x: 0, y: 4, color: '#B2D94B' }, { x: 1, y: 4, color: '#B2D94B' }, { x: 0, y: 5, color: '#B2D94B' }, { x: 1, y: 5, color: '#B2D94B' }, { x: 0, y: 6, color: '#B2D94B' }, { x: 1, y: 6, color: '#B2D94B' }, // 脸部(黄色) { x: 2, y: 1, color: '#FFE176' }, { x: 3, y: 1, color: '#FFE176' }, // 对称轴上的点 { x: 2, y: 2, color: '#FFE176' }, { x: 2, y: 3, color: '#FFE176' }, { x: 3, y: 3, color: '#FFE176' }, { x: 2, y: 4, color: '#FFE176' }, { x: 2, y: 5, color: '#FFE176' }, { x: 3, y: 5, color: '#FFE176' }, // 眼睛(黑色)- 左眼 { x: 2, y: 2, color: '#666666' }, ], }, // 卡通恐龙 - 对称涂色(仅存储左半部分) { id: 'dinosaur-7x7-001', name: '卡通恐龙', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, // 只存储了左半部分 cells: [ // 身体(浅绿色) { x: 1, y: 1, color: '#B2D94B' }, { x: 2, y: 1, color: '#B2D94B' }, { x: 1, y: 2, color: '#B2D94B' }, { x: 2, y: 2, color: '#B2D94B' }, { x: 0, y: 3, color: '#B2D94B' }, { x: 1, y: 3, color: '#B2D94B' }, { x: 2, y: 3, color: '#B2D94B' }, { x: 0, y: 4, color: '#B2D94B' }, { x: 1, y: 4, color: '#B2D94B' }, { x: 2, y: 4, color: '#B2D94B' }, { x: 0, y: 5, color: '#B2D94B' }, { x: 1, y: 5, color: '#B2D94B' }, { x: 2, y: 5, color: '#B2D94B' }, { x: 0, y: 6, color: '#B2D94B' }, { x: 1, y: 6, color: '#B2D94B' }, // 眼睛(黑色) { x: 2, y: 1, color: '#666666' }, // 嘴巴(红色) { x: 2, y: 2, color: '#ED6D50' }, { x: 0, y: 3, color: '#ED6D50' }, // 脚(黄色) { x: 2, y: 5, color: '#FFE176' }, { x: 0, y: 6, color: '#FFE176' }, { x: 1, y: 6, color: '#FFE176' }, ], }, // 心形 - 对称涂色(仅存储左半部分,对称轴在x=3) { id: 'heart-7x7-001', name: '心形', category: 'object', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 左上半部分 { x: 1, y: 0, color: '#F2A4C0' }, { x: 2, y: 0, color: '#F2A4C0' }, { x: 0, y: 1, color: '#F2A4C0' }, { x: 3, y: 1, color: '#F2A4C0' }, // 对称轴上的点 { x: 0, y: 2, color: '#F2A4C0' }, { x: 1, y: 3, color: '#F2A4C0' }, { x: 2, y: 4, color: '#F2A4C0' }, { x: 3, y: 5, color: '#F2A4C0' }, // 对称轴上的点 { x: 3, y: 6, color: '#F2A4C0' }, // 对称轴上的点(底部尖端) ], }, // 房子 { id: 'house-7x7-001', name: '小房子', category: 'object', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 屋顶(三角形)- 左半部分 { x: 2, y: 0, color: '#ED6D50' }, { x: 1, y: 1, color: '#ED6D50' }, { x: 2, y: 1, color: '#ED6D50' }, { x: 3, y: 1, color: '#ED6D50' }, // 对称轴上的点 { x: 0, y: 2, color: '#ED6D50' }, { x: 1, y: 2, color: '#ED6D50' }, { x: 2, y: 2, color: '#ED6D50' }, { x: 3, y: 2, color: '#ED6D50' }, // 墙体(黄色)- 左半部分 { x: 1, y: 3, color: '#FFE176' }, { x: 2, y: 3, color: '#FFE176' }, { x: 3, y: 3, color: '#FFE176' }, { x: 1, y: 4, color: '#FFE176' }, { x: 2, y: 4, color: '#FFE176' }, { x: 3, y: 4, color: '#FFE176' }, { x: 1, y: 5, color: '#FFE176' }, { x: 2, y: 5, color: '#FFE176' }, { x: 3, y: 5, color: '#FFE176' }, // 门(棕色)- 在对称轴上 { x: 3, y: 4, color: '#BC8F71' }, { x: 3, y: 5, color: '#BC8F71' }, // 窗户(蓝色) { x: 1, y: 3, color: '#6CD2EA' }, ], }, // 蝴蝶 { id: 'butterfly-7x7-001', name: '蝴蝶', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 左翅膀 { x: 0, y: 1, color: '#F2A4C0' }, { x: 1, y: 1, color: '#F2A4C0' }, { x: 0, y: 2, color: '#F2A4C0' }, { x: 1, y: 2, color: '#F2A4C0' }, { x: 2, y: 2, color: '#F2A4C0' }, { x: 0, y: 3, color: '#F2A4C0' }, { x: 1, y: 3, color: '#F2A4C0' }, { x: 2, y: 3, color: '#F2A4C0' }, // 身体(在对称轴上) { x: 3, y: 1, color: '#666666' }, { x: 3, y: 2, color: '#666666' }, { x: 3, y: 3, color: '#666666' }, { x: 3, y: 4, color: '#666666' }, { x: 3, y: 5, color: '#666666' }, // 左下半翅膀 { x: 1, y: 4, color: '#F2A4C0' }, { x: 2, y: 4, color: '#F2A4C0' }, { x: 0, y: 5, color: '#F2A4C0' }, { x: 1, y: 5, color: '#F2A4C0' }, { x: 2, y: 5, color: '#F2A4C0' }, ], }, // 花朵 { id: 'flower-7x7-001', name: '花朵', category: 'nature', difficulty: 3, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ // 花瓣(左上半部分) { x: 1, y: 0, color: '#F2A4C0' }, { x: 2, y: 0, color: '#F2A4C0' }, { x: 0, y: 1, color: '#F2A4C0' }, { x: 1, y: 1, color: '#F2A4C0' }, { x: 2, y: 1, color: '#F2A4C0' }, { x: 3, y: 1, color: '#F2A4C0' }, // 对称轴上的点 // 花心(中心) { x: 2, y: 2, color: '#FFE176' }, { x: 3, y: 2, color: '#FFE176' }, // 对称轴上的点 { x: 2, y: 3, color: '#FFE176' }, { x: 3, y: 3, color: '#FFE176' }, // 对称轴上的点 // 茎(在对称轴上) { x: 3, y: 4, color: '#53D1B6' }, { x: 3, y: 5, color: '#53D1B6' }, { x: 3, y: 6, color: '#53D1B6' }, ], }, // 多色星星 { id: 'colorful-star-7x7-001', name: '多色星星', category: 'geometric', difficulty: 3, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ { x: 3, y: 0, color: '#FFE176' }, // 顶部 - 黄色 { x: 2, y: 1, color: '#F9A857' }, // 左上 - 橙色 { x: 3, y: 1, color: '#F9A857' }, // 对称轴 { x: 1, y: 2, color: '#ED6D50' }, // 左 - 红色 { x: 2, y: 2, color: '#ED6D50' }, { x: 3, y: 2, color: '#FFE176' }, // 中心 - 黄色 { x: 0, y: 3, color: '#ED6D50' }, // 最左 - 红色 { x: 3, y: 3, color: '#FFE176' }, // 对称轴中心 - 黄色 { x: 1, y: 4, color: '#ED6D50' }, // 左下 - 红色 { x: 2, y: 4, color: '#ED6D50' }, { x: 3, y: 4, color: '#FFE176' }, // 中心 - 黄色 { x: 2, y: 5, color: '#F9A857' }, // 左下 - 橙色 { x: 3, y: 5, color: '#F9A857' }, // 对称轴 { x: 3, y: 6, color: '#FFE176' }, // 底部 - 黄色 ], }, // 多色心形 { id: 'colorful-heart-7x7-001', name: '多色心形', category: 'object', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ { x: 2, y: 0, color: '#F2A4C0' }, // 粉色 { x: 3, y: 0, color: '#ED6D50' }, // 红色 - 对称轴 { x: 1, y: 1, color: '#F2A4C0' }, // 粉色 { x: 2, y: 1, color: '#ED6D50' }, // 红色 { x: 3, y: 1, color: '#ED6D50' }, // 对称轴 { x: 0, y: 2, color: '#F2A4C0' }, // 粉色 { x: 3, y: 2, color: '#ED6D50' }, // 对称轴 { x: 0, y: 3, color: '#F2A4C0' }, // 粉色 { x: 1, y: 3, color: '#ED6D50' }, // 红色 { x: 2, y: 4, color: '#ED6D50' }, // 红色 { x: 3, y: 5, color: '#ED6D50' }, // 对称轴 { x: 3, y: 6, color: '#ED6D50' }, // 对称轴底部 ], }, // 多色房子 { id: 'colorful-house-7x7-001', name: '多色房子', category: 'object', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 屋顶(三角形)- 左半部分,多色 { x: 2, y: 0, color: '#ED6D50' }, // 红色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 1, color: '#FFE176' }, // 黄色 { x: 3, y: 1, color: '#FFE176' }, // 对称轴 { x: 0, y: 2, color: '#ED6D50' }, // 红色 { x: 1, y: 2, color: '#F9A857' }, // 橙色 { x: 2, y: 2, color: '#FFE176' }, // 黄色 { x: 3, y: 2, color: '#FFE176' }, // 对称轴 // 墙体(多色)- 左半部分 { x: 1, y: 3, color: '#FFE176' }, // 黄色 { x: 2, y: 3, color: '#F9A857' }, // 橙色 { x: 3, y: 3, color: '#FFE176' }, // 对称轴 { x: 1, y: 4, color: '#FFE176' }, // 黄色 { x: 2, y: 4, color: '#F9A857' }, // 橙色 { x: 3, y: 4, color: '#ED6D50' }, // 门 - 红色 { x: 1, y: 5, color: '#FFE176' }, // 黄色 { x: 2, y: 5, color: '#F9A857' }, // 橙色 { x: 3, y: 5, color: '#ED6D50' }, // 门 - 红色 // 窗户(蓝色) { x: 1, y: 3, color: '#6CD2EA' }, ], }, // 多色蝴蝶 { id: 'colorful-butterfly-7x7-001', name: '多色蝴蝶', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 左翅膀 - 多色 { x: 0, y: 1, color: '#F2A4C0' }, // 粉色 { x: 1, y: 1, color: '#ED6D50' }, // 红色 { x: 0, y: 2, color: '#F9A857' }, // 橙色 { x: 1, y: 2, color: '#FFE176' }, // 黄色 { x: 2, y: 2, color: '#B2D94B' }, // 绿色 { x: 0, y: 3, color: '#F2A4C0' }, // 粉色 { x: 1, y: 3, color: '#ED6D50' }, // 红色 { x: 2, y: 3, color: '#F9A857' }, // 橙色 // 身体(在对称轴上)- 黑色 { x: 3, y: 1, color: '#666666' }, { x: 3, y: 2, color: '#666666' }, { x: 3, y: 3, color: '#666666' }, { x: 3, y: 4, color: '#666666' }, { x: 3, y: 5, color: '#666666' }, // 左下半翅膀 - 多色 { x: 1, y: 4, color: '#F2A4C0' }, // 粉色 { x: 2, y: 4, color: '#ED6D50' }, // 红色 { x: 0, y: 5, color: '#F9A857' }, // 橙色 { x: 1, y: 5, color: '#FFE176' }, // 黄色 { x: 2, y: 5, color: '#B2D94B' }, // 绿色 ], }, // 多色花朵 { id: 'colorful-flower-7x7-001', name: '多色花朵', category: 'nature', difficulty: 3, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ // 花瓣(左上半部分)- 多色 { x: 1, y: 0, color: '#F2A4C0' }, // 粉色 { x: 2, y: 0, color: '#ED6D50' }, // 红色 { x: 0, y: 1, color: '#F2A4C0' }, // 粉色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 1, color: '#FFE176' }, // 黄色 { x: 3, y: 1, color: '#FFE176' }, // 对称轴 // 花心(中心)- 多色 { x: 2, y: 2, color: '#FFE176' }, // 黄色 { x: 3, y: 2, color: '#F9A857' }, // 橙色 - 对称轴 { x: 2, y: 3, color: '#ED6D50' }, // 红色 { x: 3, y: 3, color: '#F9A857' }, // 橙色 - 对称轴 // 茎(在对称轴上)- 绿色 { x: 3, y: 4, color: '#53D1B6' }, { x: 3, y: 5, color: '#53D1B6' }, { x: 3, y: 6, color: '#53D1B6' }, ], }, // 太阳 - 对称涂色(仅存储左半部分) { id: 'sun-7x7-001', name: '太阳', category: 'nature', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ // 光线(顶部)- 左半部分 { x: 1, y: 0, color: '#FFE176' }, // 黄色光线 { x: 2, y: 0, color: '#F9A857' }, // 橙色光线 { x: 3, y: 0, color: '#FFE176' }, // 对称轴 - 黄色光线 { x: 0, y: 1, color: '#FFE176' }, // 黄色光线 { x: 3, y: 1, color: '#F9A857' }, // 对称轴 - 橙色光线 // 太阳主体(圆形)- 左半部分 { x: 1, y: 2, color: '#FFE176' }, // 黄色 { x: 2, y: 2, color: '#F9A857' }, // 橙色 { x: 3, y: 2, color: '#FFE176' }, // 对称轴 - 黄色 { x: 0, y: 3, color: '#F9A857' }, // 橙色 { x: 1, y: 3, color: '#FFE176' }, // 黄色 { x: 2, y: 3, color: '#F9A857' }, // 橙色 { x: 3, y: 3, color: '#ED6D50' }, // 对称轴中心 - 红色(太阳中心) { x: 0, y: 4, color: '#F9A857' }, // 橙色 { x: 1, y: 4, color: '#FFE176' }, // 黄色 { x: 2, y: 4, color: '#F9A857' }, // 橙色 { x: 3, y: 4, color: '#FFE176' }, // 对称轴 - 黄色 { x: 1, y: 5, color: '#FFE176' }, // 黄色 { x: 2, y: 5, color: '#F9A857' }, // 橙色 { x: 3, y: 5, color: '#FFE176' }, // 对称轴 - 黄色 // 光线(底部)- 左半部分 { x: 0, y: 6, color: '#FFE176' }, // 黄色光线 { x: 1, y: 6, color: '#F9A857' }, // 橙色光线 { x: 2, y: 6, color: '#FFE176' }, // 黄色光线 { x: 3, y: 6, color: '#F9A857' }, // 对称轴 - 橙色光线 ], }, // 多色圆形 { id: 'colorful-circle-7x7-001', name: '多色圆形', category: 'geometric', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ { x: 2, y: 0, color: '#FFE176' }, { x: 3, y: 0, color: '#F9A857' }, // 对称轴 { x: 1, y: 1, color: '#F9A857' }, { x: 3, y: 1, color: '#ED6D50' }, // 对称轴 { x: 0, y: 2, color: '#ED6D50' }, { x: 3, y: 2, color: '#F2A4C0' }, // 对称轴 { x: 0, y: 3, color: '#F2A4C0' }, { x: 3, y: 3, color: '#79A7ED' }, // 对称轴 { x: 0, y: 4, color: '#79A7ED' }, { x: 3, y: 4, color: '#6CD2EA' }, // 对称轴 { x: 1, y: 5, color: '#6CD2EA' }, { x: 3, y: 5, color: '#53D1B6' }, // 对称轴 { x: 2, y: 6, color: '#53D1B6' }, { x: 3, y: 6, color: '#B2D94B' }, // 对称轴 ], }, // 风车 - 对称涂色(仅存储左半部分) { id: 'windmill-7x7-001', name: '风车', category: 'object', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ // 顶部叶片 - 左半部分 { x: 2, y: 0, color: '#FFE176' }, // 黄色 { x: 3, y: 0, color: '#F9A857' }, // 对称轴 - 橙色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 1, color: '#ED6D50' }, // 红色 { x: 3, y: 1, color: '#FFE176' }, // 对称轴 - 黄色 // 左侧叶片 - 左半部分 { x: 0, y: 2, color: '#ED6D50' }, // 红色 { x: 1, y: 2, color: '#F9A857' }, // 橙色 { x: 2, y: 2, color: '#FFE176' }, // 黄色 { x: 3, y: 2, color: '#F9A857' }, // 对称轴 - 橙色 // 中心 { x: 1, y: 3, color: '#FFE176' }, // 黄色 { x: 2, y: 3, color: '#F9A857' }, // 橙色 { x: 3, y: 3, color: '#666666' }, // 对称轴中心 - 黑色(中心点) // 右侧叶片 - 左半部分(对称后会成为左侧) { x: 1, y: 4, color: '#F9A857' }, // 橙色 { x: 2, y: 4, color: '#ED6D50' }, // 红色 { x: 3, y: 4, color: '#FFE176' }, // 对称轴 - 黄色 // 底部叶片 - 左半部分 { x: 1, y: 5, color: '#FFE176' }, // 黄色 { x: 2, y: 5, color: '#F9A857' }, // 橙色 { x: 3, y: 5, color: '#ED6D50' }, // 对称轴 - 红色 { x: 2, y: 6, color: '#F9A857' }, // 橙色 { x: 3, y: 6, color: '#FFE176' }, // 对称轴 - 黄色 ], }, // 多色十字 { id: 'colorful-cross-7x7-001', name: '多色十字', category: 'geometric', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ { x: 3, y: 0, color: '#FFE176' }, // 对称轴 - 黄色 { x: 3, y: 1, color: '#F9A857' }, // 橙色 { x: 0, y: 3, color: '#ED6D50' }, // 红色 { x: 1, y: 3, color: '#F9A857' }, // 橙色 { x: 2, y: 3, color: '#FFE176' }, // 黄色 { x: 3, y: 3, color: '#B2D94B' }, // 对称轴中心 - 绿色 { x: 3, y: 4, color: '#F9A857' }, // 橙色 { x: 3, y: 5, color: '#ED6D50' }, // 红色 { x: 3, y: 6, color: '#FFE176' }, // 对称轴 - 黄色 ], }, // 蝴蝶结 - 对称涂色(仅存储左半部分) { id: 'bow-7x7-001', name: '蝴蝶结', category: 'object', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ // 顶部蝴蝶结 - 左半部分 { x: 1, y: 0, color: '#F2A4C0' }, // 粉色 { x: 2, y: 0, color: '#ED6D50' }, // 红色 { x: 3, y: 0, color: '#F2A4C0' }, // 对称轴 - 粉色 { x: 0, y: 1, color: '#ED6D50' }, // 红色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 1, color: '#FFE176' }, // 黄色 { x: 3, y: 1, color: '#F9A857' }, // 对称轴 - 橙色 { x: 0, y: 2, color: '#F2A4C0' }, // 粉色 { x: 1, y: 2, color: '#ED6D50' }, // 红色 { x: 2, y: 2, color: '#F9A857' }, // 橙色 { x: 3, y: 2, color: '#ED6D50' }, // 对称轴 - 红色 // 中心结 - 左半部分 { x: 1, y: 3, color: '#F2A4C0' }, // 粉色 { x: 2, y: 3, color: '#ED6D50' }, // 红色 { x: 3, y: 3, color: '#F9A857' }, // 对称轴中心 - 橙色 // 底部蝴蝶结 - 左半部分 { x: 0, y: 4, color: '#F2A4C0' }, // 粉色 { x: 1, y: 4, color: '#ED6D50' }, // 红色 { x: 2, y: 4, color: '#F9A857' }, // 橙色 { x: 3, y: 4, color: '#ED6D50' }, // 对称轴 - 红色 { x: 0, y: 5, color: '#ED6D50' }, // 红色 { x: 1, y: 5, color: '#F9A857' }, // 橙色 { x: 2, y: 5, color: '#FFE176' }, // 黄色 { x: 3, y: 5, color: '#F9A857' }, // 对称轴 - 橙色 { x: 1, y: 6, color: '#F2A4C0' }, // 粉色 { x: 2, y: 6, color: '#ED6D50' }, // 红色 { x: 3, y: 6, color: '#F2A4C0' }, // 对称轴 - 粉色 ], }, // 多色X形 { id: 'colorful-x-7x7-001', name: '多色X形', category: 'geometric', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ { x: 0, y: 0, color: '#ED6D50' }, // 红色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 2, color: '#FFE176' }, // 黄色 { x: 3, y: 3, color: '#B2D94B' }, // 对称轴中心 - 绿色 { x: 2, y: 4, color: '#53D1B6' }, // 青色 { x: 1, y: 5, color: '#6CD2EA' }, // 蓝色 { x: 0, y: 6, color: '#79A7ED' }, // 深蓝 { x: 3, y: 0, color: '#ED6D50' }, // 对称轴 - 红色 { x: 3, y: 6, color: '#79A7ED' }, // 对称轴 - 深蓝 ], }, // 小树 - 对称涂色(仅存储左半部分) { id: 'tree-7x7-001', name: '小树', category: 'nature', difficulty: 2, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 树顶(三角形)- 左半部分 { x: 2, y: 0, color: '#B2D94B' }, // 绿色 { x: 3, y: 0, color: '#53D1B6' }, // 对称轴 - 青色 { x: 1, y: 1, color: '#B2D94B' }, // 绿色 { x: 2, y: 1, color: '#53D1B6' }, // 青色 { x: 3, y: 1, color: '#B2D94B' }, // 对称轴 - 绿色 { x: 0, y: 2, color: '#B2D94B' }, // 绿色 { x: 1, y: 2, color: '#53D1B6' }, // 青色 { x: 2, y: 2, color: '#B2D94B' }, // 绿色 { x: 3, y: 2, color: '#53D1B6' }, // 对称轴 - 青色 // 树干 - 左半部分 { x: 0, y: 3, color: '#BC8F71' }, // 棕色 { x: 1, y: 3, color: '#BC8F71' }, // 棕色 { x: 2, y: 3, color: '#BC8F71' }, // 棕色 { x: 3, y: 3, color: '#BC8F71' }, // 对称轴 - 棕色 { x: 0, y: 4, color: '#BC8F71' }, // 棕色 { x: 1, y: 4, color: '#BC8F71' }, // 棕色 { x: 2, y: 4, color: '#BC8F71' }, // 棕色 { x: 3, y: 4, color: '#BC8F71' }, // 对称轴 - 棕色 { x: 1, y: 5, color: '#BC8F71' }, // 棕色 { x: 2, y: 5, color: '#BC8F71' }, // 棕色 { x: 3, y: 5, color: '#BC8F71' }, // 对称轴 - 棕色 { x: 1, y: 6, color: '#BC8F71' }, // 棕色 { x: 2, y: 6, color: '#BC8F71' }, // 棕色 { x: 3, y: 6, color: '#BC8F71' }, // 对称轴 - 棕色 ], }, // 多色三角形 { id: 'colorful-triangle-7x7-001', name: '多色三角形', category: 'geometric', difficulty: 2, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ { x: 3, y: 0, color: '#FFE176' }, // 对称轴顶部 - 黄色 { x: 2, y: 1, color: '#F9A857' }, // 橙色 { x: 3, y: 1, color: '#ED6D50' }, // 对称轴 - 红色 { x: 1, y: 2, color: '#ED6D50' }, // 红色 { x: 2, y: 2, color: '#F2A4C0' }, // 粉色 { x: 3, y: 2, color: '#F9A857' }, // 对称轴 - 橙色 { x: 0, y: 3, color: '#F2A4C0' }, // 粉色 { x: 1, y: 3, color: '#79A7ED' }, // 蓝色 { x: 2, y: 3, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 3, color: '#53D1B6' }, // 对称轴 - 青色 { x: 0, y: 4, color: '#79A7ED' }, // 蓝色 { x: 1, y: 4, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 4, color: '#53D1B6' }, // 青色 { x: 3, y: 4, color: '#B2D94B' }, // 对称轴 - 绿色 { x: 0, y: 5, color: '#6CD2EA' }, // 浅蓝 { x: 1, y: 5, color: '#53D1B6' }, // 青色 { x: 2, y: 5, color: '#B2D94B' }, // 绿色 { x: 3, y: 5, color: '#FFE176' }, // 对称轴 - 黄色 { x: 0, y: 6, color: '#53D1B6' }, // 青色 { x: 1, y: 6, color: '#B2D94B' }, // 绿色 { x: 2, y: 6, color: '#FFE176' }, // 黄色 { x: 3, y: 6, color: '#F9A857' }, // 对称轴 - 橙色 ], }, // 钻石 - 对称涂色(仅存储左半部分) { id: 'diamond-gem-7x7-001', name: '钻石', category: 'object', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ // 顶部尖端 - 左半部分 { x: 2, y: 0, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 0, color: '#79A7ED' }, // 对称轴 - 蓝色 // 上半部分 - 左半部分 { x: 1, y: 1, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 1, color: '#79A7ED' }, // 蓝色 { x: 3, y: 1, color: '#6CD2EA' }, // 对称轴 - 浅蓝 { x: 0, y: 2, color: '#6CD2EA' }, // 浅蓝 { x: 1, y: 2, color: '#79A7ED' }, // 蓝色 { x: 2, y: 2, color: '#53D1B6' }, // 青色 { x: 3, y: 2, color: '#79A7ED' }, // 对称轴 - 蓝色 // 中心(最宽部分)- 左半部分 { x: 0, y: 3, color: '#79A7ED' }, // 蓝色 { x: 1, y: 3, color: '#53D1B6' }, // 青色 { x: 2, y: 3, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 3, color: '#FFE176' }, // 对称轴中心 - 黄色(高光) // 下半部分 - 左半部分 { x: 0, y: 4, color: '#6CD2EA' }, // 浅蓝 { x: 1, y: 4, color: '#79A7ED' }, // 蓝色 { x: 2, y: 4, color: '#53D1B6' }, // 青色 { x: 3, y: 4, color: '#79A7ED' }, // 对称轴 - 蓝色 { x: 1, y: 5, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 5, color: '#79A7ED' }, // 蓝色 { x: 3, y: 5, color: '#6CD2EA' }, // 对称轴 - 浅蓝 // 底部尖端 - 左半部分 { x: 2, y: 6, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 6, color: '#79A7ED' }, // 对称轴 - 蓝色 ], }, // 多色菱形 { id: 'colorful-diamond-7x7-001', name: '多色菱形', category: 'geometric', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ { x: 3, y: 0, color: '#FFE176' }, // 对称轴顶部 - 黄色 { x: 2, y: 1, color: '#F9A857' }, // 橙色 { x: 3, y: 1, color: '#ED6D50' }, // 对称轴 - 红色 { x: 1, y: 2, color: '#ED6D50' }, // 红色 { x: 2, y: 2, color: '#F2A4C0' }, // 粉色 { x: 3, y: 2, color: '#79A7ED' }, // 对称轴 - 蓝色 { x: 0, y: 3, color: '#F2A4C0' }, // 粉色 { x: 1, y: 3, color: '#79A7ED' }, // 蓝色 { x: 2, y: 3, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 3, color: '#53D1B6' }, // 对称轴中心 - 青色 { x: 1, y: 4, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 4, color: '#53D1B6' }, // 青色 { x: 3, y: 4, color: '#B2D94B' }, // 对称轴 - 绿色 { x: 2, y: 5, color: '#B2D94B' }, // 绿色 { x: 3, y: 5, color: '#FFE176' }, // 对称轴 - 黄色 { x: 3, y: 6, color: '#F9A857' }, // 对称轴底部 - 橙色 ], }, // 边框 { id: 'frame-7x7-001', name: '边框', category: 'geometric', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ // 顶部 { x: 0, y: 0, color: '#B2D94B' }, { x: 1, y: 0, color: '#B2D94B' }, { x: 2, y: 0, color: '#B2D94B' }, { x: 3, y: 0, color: '#B2D94B' }, // 对称轴 // 左侧 { x: 0, y: 1, color: '#B2D94B' }, { x: 0, y: 2, color: '#B2D94B' }, { x: 0, y: 3, color: '#B2D94B' }, { x: 0, y: 4, color: '#B2D94B' }, { x: 0, y: 5, color: '#B2D94B' }, // 右侧 { x: 3, y: 1, color: '#B2D94B' }, // 对称轴 { x: 3, y: 2, color: '#B2D94B' }, // 对称轴 { x: 3, y: 3, color: '#B2D94B' }, // 对称轴 { x: 3, y: 4, color: '#B2D94B' }, // 对称轴 { x: 3, y: 5, color: '#B2D94B' }, // 对称轴 // 底部 { x: 0, y: 6, color: '#B2D94B' }, { x: 1, y: 6, color: '#B2D94B' }, { x: 2, y: 6, color: '#B2D94B' }, { x: 3, y: 6, color: '#B2D94B' }, // 对称轴 ], }, // 多色边框 { id: 'colorful-frame-7x7-001', name: '多色边框', category: 'geometric', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ // 顶部 - 多色 { x: 0, y: 0, color: '#FFE176' }, // 黄色 { x: 1, y: 0, color: '#F9A857' }, // 橙色 { x: 2, y: 0, color: '#ED6D50' }, // 红色 { x: 3, y: 0, color: '#F2A4C0' }, // 对称轴 - 粉色 // 左侧 - 多色 { x: 0, y: 1, color: '#F9A857' }, // 橙色 { x: 0, y: 2, color: '#ED6D50' }, // 红色 { x: 0, y: 3, color: '#F2A4C0' }, // 粉色 { x: 0, y: 4, color: '#79A7ED' }, // 蓝色 { x: 0, y: 5, color: '#6CD2EA' }, // 浅蓝 // 右侧 - 多色 { x: 3, y: 1, color: '#F2A4C0' }, // 对称轴 - 粉色 { x: 3, y: 2, color: '#79A7ED' }, // 对称轴 - 蓝色 { x: 3, y: 3, color: '#6CD2EA' }, // 对称轴 - 浅蓝 { x: 3, y: 4, color: '#53D1B6' }, // 对称轴 - 青色 { x: 3, y: 5, color: '#B2D94B' }, // 对称轴 - 绿色 // 底部 - 多色 { x: 0, y: 6, color: '#6CD2EA' }, // 浅蓝 { x: 1, y: 6, color: '#53D1B6' }, // 青色 { x: 2, y: 6, color: '#B2D94B' }, // 绿色 { x: 3, y: 6, color: '#FFE176' }, // 对称轴 - 黄色 ], }, // 棋盘格 { id: 'checkerboard-7x7-001', name: '棋盘格', category: 'geometric', difficulty: 3, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ { x: 0, y: 0, color: '#FFE176' }, { x: 2, y: 0, color: '#FFE176' }, { x: 3, y: 0, color: '#FFE176' }, // 对称轴 { x: 1, y: 1, color: '#FFE176' }, { x: 3, y: 1, color: '#FFE176' }, // 对称轴 { x: 0, y: 2, color: '#FFE176' }, { x: 2, y: 2, color: '#FFE176' }, { x: 3, y: 2, color: '#FFE176' }, // 对称轴 { x: 1, y: 3, color: '#FFE176' }, { x: 3, y: 3, color: '#FFE176' }, // 对称轴中心 { x: 0, y: 4, color: '#FFE176' }, { x: 2, y: 4, color: '#FFE176' }, { x: 3, y: 4, color: '#FFE176' }, // 对称轴 { x: 1, y: 5, color: '#FFE176' }, { x: 3, y: 5, color: '#FFE176' }, // 对称轴 { x: 0, y: 6, color: '#FFE176' }, { x: 2, y: 6, color: '#FFE176' }, { x: 3, y: 6, color: '#FFE176' }, // 对称轴 ], }, // 多色棋盘格 { id: 'colorful-checkerboard-7x7-001', name: '多色棋盘格', category: 'geometric', difficulty: 3, supportSymmetry: true, symmetryType: 'both', isComplete: false, cells: [ { x: 0, y: 0, color: '#FFE176' }, // 黄色 { x: 2, y: 0, color: '#F9A857' }, // 橙色 { x: 3, y: 0, color: '#ED6D50' }, // 对称轴 - 红色 { x: 1, y: 1, color: '#ED6D50' }, // 红色 { x: 3, y: 1, color: '#F2A4C0' }, // 对称轴 - 粉色 { x: 0, y: 2, color: '#F2A4C0' }, // 粉色 { x: 2, y: 2, color: '#79A7ED' }, // 蓝色 { x: 3, y: 2, color: '#6CD2EA' }, // 对称轴 - 浅蓝 { x: 1, y: 3, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 3, color: '#53D1B6' }, // 对称轴中心 - 青色 { x: 0, y: 4, color: '#53D1B6' }, // 青色 { x: 2, y: 4, color: '#B2D94B' }, // 绿色 { x: 3, y: 4, color: '#FFE176' }, // 对称轴 - 黄色 { x: 1, y: 5, color: '#FFE176' }, // 黄色 { x: 3, y: 5, color: '#F9A857' }, // 对称轴 - 橙色 { x: 0, y: 6, color: '#F9A857' }, // 橙色 { x: 2, y: 6, color: '#ED6D50' }, // 红色 { x: 3, y: 6, color: '#F2A4C0' }, // 对称轴 - 粉色 ], }, // 鹦鹉 { id: 'parrot-7x7-001', name: '鹦鹉', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部(左半部分) { x: 1, y: 0, color: '#FFE176' }, // 黄色 { x: 2, y: 0, color: '#F9A857' }, // 橙色 { x: 3, y: 0, color: '#ED6D50' }, // 对称轴 - 红色 { x: 0, y: 1, color: '#FFE176' }, // 黄色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 1, color: '#ED6D50' }, // 红色 { x: 3, y: 1, color: '#F2A4C0' }, // 对称轴 - 粉色 // 身体(左半部分) { x: 0, y: 2, color: '#B2D94B' }, // 绿色 { x: 1, y: 2, color: '#53D1B6' }, // 青色 { x: 2, y: 2, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 2, color: '#79A7ED' }, // 对称轴 - 蓝色 { x: 0, y: 3, color: '#B2D94B' }, // 绿色 { x: 1, y: 3, color: '#53D1B6' }, // 青色 { x: 2, y: 3, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 3, color: '#79A7ED' }, // 对称轴 - 蓝色 // 翅膀(左半部分) { x: 0, y: 4, color: '#B2D94B' }, // 绿色 { x: 1, y: 4, color: '#53D1B6' }, // 青色 { x: 2, y: 4, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 4, color: '#79A7ED' }, // 对称轴 - 蓝色 // 尾巴和脚 { x: 1, y: 5, color: '#B2D94B' }, // 绿色 { x: 2, y: 5, color: '#53D1B6' }, // 青色 { x: 3, y: 5, color: '#ED6D50' }, // 对称轴 - 红色(脚) { x: 2, y: 6, color: '#B2D94B' }, // 绿色 { x: 3, y: 6, color: '#ED6D50' }, // 对称轴 - 红色(脚) ], }, // 小狗 { id: 'dog-7x7-001', name: '小狗', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部(左半部分) { x: 1, y: 0, color: '#F9A857' }, // 橙色 { x: 2, y: 0, color: '#ED6D50' }, // 红色 { x: 3, y: 0, color: '#ED6D50' }, // 对称轴 { x: 0, y: 1, color: '#F9A857' }, // 橙色 { x: 1, y: 1, color: '#ED6D50' }, // 红色 { x: 2, y: 1, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 1, color: '#F9A857' }, // 对称轴 // 身体(左半部分) { x: 0, y: 2, color: '#F9A857' }, // 橙色 { x: 1, y: 2, color: '#ED6D50' }, // 红色 { x: 2, y: 2, color: '#F9A857' }, // 橙色 { x: 3, y: 2, color: '#F9A857' }, // 对称轴 { x: 0, y: 3, color: '#F9A857' }, // 橙色 { x: 1, y: 3, color: '#ED6D50' }, // 红色 { x: 2, y: 3, color: '#F9A857' }, // 橙色 { x: 3, y: 3, color: '#F9A857' }, // 对称轴 // 腿和尾巴 { x: 0, y: 4, color: '#F9A857' }, // 橙色 { x: 1, y: 4, color: '#ED6D50' }, // 红色 { x: 2, y: 4, color: '#F9A857' }, // 橙色 { x: 3, y: 4, color: '#ED6D50' }, // 对称轴(腿) { x: 0, y: 5, color: '#ED6D50' }, // 红色(腿) { x: 1, y: 5, color: '#F9A857' }, // 橙色 { x: 2, y: 5, color: '#ED6D50' }, // 红色(腿) { x: 3, y: 5, color: '#ED6D50' }, // 对称轴(腿) { x: 0, y: 6, color: '#ED6D50' }, // 红色(腿) { x: 2, y: 6, color: '#F9A857' }, // 橙色(尾巴) { x: 3, y: 6, color: '#ED6D50' }, // 对称轴(腿) ], }, // 小猫 { id: 'cat-7x7-001', name: '小猫', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部和耳朵(左半部分) { x: 1, y: 0, color: '#F2A4C0' }, // 粉色 { x: 2, y: 0, color: '#ED6D50' }, // 红色 { x: 3, y: 0, color: '#ED6D50' }, // 对称轴 { x: 0, y: 1, color: '#F2A4C0' }, // 粉色(耳朵) { x: 1, y: 1, color: '#ED6D50' }, // 红色 { x: 2, y: 1, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 1, color: '#F2A4C0' }, // 对称轴 // 身体(左半部分) { x: 0, y: 2, color: '#F2A4C0' }, // 粉色 { x: 1, y: 2, color: '#ED6D50' }, // 红色 { x: 2, y: 2, color: '#F2A4C0' }, // 粉色 { x: 3, y: 2, color: '#F2A4C0' }, // 对称轴 { x: 0, y: 3, color: '#F2A4C0' }, // 粉色 { x: 1, y: 3, color: '#ED6D50' }, // 红色 { x: 2, y: 3, color: '#F2A4C0' }, // 粉色 { x: 3, y: 3, color: '#F2A4C0' }, // 对称轴 // 腿和尾巴 { x: 0, y: 4, color: '#F2A4C0' }, // 粉色 { x: 1, y: 4, color: '#ED6D50' }, // 红色 { x: 2, y: 4, color: '#F2A4C0' }, // 粉色 { x: 3, y: 4, color: '#ED6D50' }, // 对称轴(腿) { x: 0, y: 5, color: '#ED6D50' }, // 红色(腿) { x: 1, y: 5, color: '#F2A4C0' }, // 粉色 { x: 2, y: 5, color: '#ED6D50' }, // 红色(腿) { x: 3, y: 5, color: '#ED6D50' }, // 对称轴(腿) { x: 0, y: 6, color: '#ED6D50' }, // 红色(腿) { x: 1, y: 6, color: '#F2A4C0' }, // 粉色(尾巴) { x: 3, y: 6, color: '#ED6D50' }, // 对称轴(腿) ], }, // 小鸟 { id: 'bird-7x7-001', name: '小鸟', category: 'animal', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部(左半部分) { x: 1, y: 0, color: '#FFE176' }, // 黄色 { x: 2, y: 0, color: '#F9A857' }, // 橙色 { x: 3, y: 0, color: '#ED6D50' }, // 对称轴 - 红色(嘴巴) { x: 0, y: 1, color: '#FFE176' }, // 黄色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 1, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 1, color: '#FFE176' }, // 对称轴 // 身体和翅膀(左半部分) { x: 0, y: 2, color: '#FFE176' }, // 黄色 { x: 1, y: 2, color: '#F9A857' }, // 橙色 { x: 2, y: 2, color: '#ED6D50' }, // 红色 { x: 3, y: 2, color: '#FFE176' }, // 对称轴 { x: 0, y: 3, color: '#F9A857' }, // 橙色(翅膀) { x: 1, y: 3, color: '#ED6D50' }, // 红色 { x: 2, y: 3, color: '#FFE176' }, // 黄色 { x: 3, y: 3, color: '#F9A857' }, // 对称轴 // 尾巴和脚 { x: 1, y: 4, color: '#F9A857' }, // 橙色 { x: 2, y: 4, color: '#ED6D50' }, // 红色 { x: 3, y: 4, color: '#FFE176' }, // 对称轴 { x: 2, y: 5, color: '#ED6D50' }, // 红色(脚) { x: 3, y: 5, color: '#ED6D50' }, // 对称轴(脚) { x: 3, y: 6, color: '#ED6D50' }, // 对称轴(脚) ], }, // 兔子 { id: 'rabbit-7x7-001', name: '兔子', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 耳朵(左半部分) { x: 0, y: 0, color: '#F2A4C0' }, // 粉色 { x: 1, y: 0, color: '#ED6D50' }, // 红色 { x: 2, y: 0, color: '#F2A4C0' }, // 粉色 { x: 3, y: 0, color: '#F2A4C0' }, // 对称轴 { x: 0, y: 1, color: '#F2A4C0' }, // 粉色 { x: 1, y: 1, color: '#ED6D50' }, // 红色 { x: 2, y: 1, color: '#F2A4C0' }, // 粉色 { x: 3, y: 1, color: '#F2A4C0' }, // 对称轴 // 头部(左半部分) { x: 1, y: 2, color: '#F2A4C0' }, // 粉色 { x: 2, y: 2, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 2, color: '#F2A4C0' }, // 对称轴 { x: 0, y: 3, color: '#F2A4C0' }, // 粉色 { x: 1, y: 3, color: '#ED6D50' }, // 红色(鼻子) { x: 2, y: 3, color: '#F2A4C0' }, // 粉色 { x: 3, y: 3, color: '#F2A4C0' }, // 对称轴 // 身体(左半部分) { x: 0, y: 4, color: '#F2A4C0' }, // 粉色 { x: 1, y: 4, color: '#ED6D50' }, // 红色 { x: 2, y: 4, color: '#F2A4C0' }, // 粉色 { x: 3, y: 4, color: '#F2A4C0' }, // 对称轴 { x: 1, y: 5, color: '#F2A4C0' }, // 粉色 { x: 2, y: 5, color: '#ED6D50' }, // 红色 { x: 3, y: 5, color: '#ED6D50' }, // 对称轴(腿) { x: 1, y: 6, color: '#ED6D50' }, // 红色(腿) { x: 2, y: 6, color: '#ED6D50' }, // 红色(腿) { x: 3, y: 6, color: '#ED6D50' }, // 对称轴(腿) ], }, // 鱼 { id: 'fish-7x7-001', name: '鱼', category: 'animal', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部和身体(左半部分) { x: 0, y: 1, color: '#6CD2EA' }, // 浅蓝 { x: 1, y: 1, color: '#79A7ED' }, // 蓝色 { x: 2, y: 1, color: '#53D1B6' }, // 青色 { x: 3, y: 1, color: '#53D1B6' }, // 对称轴 { x: 0, y: 2, color: '#79A7ED' }, // 蓝色 { x: 1, y: 2, color: '#53D1B6' }, // 青色 { x: 2, y: 2, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 2, color: '#6CD2EA' }, // 对称轴 { x: 0, y: 3, color: '#6CD2EA' }, // 浅蓝 { x: 1, y: 3, color: '#79A7ED' }, // 蓝色 { x: 2, y: 3, color: '#53D1B6' }, // 青色 { x: 3, y: 3, color: '#53D1B6' }, // 对称轴 // 尾巴(左半部分) { x: 1, y: 4, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 4, color: '#79A7ED' }, // 蓝色 { x: 3, y: 4, color: '#53D1B6' }, // 对称轴 { x: 2, y: 5, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 5, color: '#79A7ED' }, // 对称轴 ], }, // 多色鱼 { id: 'colorful-fish-7x7-001', name: '多色鱼', category: 'animal', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部和身体(左半部分)- 多色 { x: 0, y: 1, color: '#FFE176' }, // 黄色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 1, color: '#ED6D50' }, // 红色 { x: 3, y: 1, color: '#F2A4C0' }, // 对称轴 - 粉色 { x: 0, y: 2, color: '#F9A857' }, // 橙色 { x: 1, y: 2, color: '#ED6D50' }, // 红色 { x: 2, y: 2, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 2, color: '#79A7ED' }, // 对称轴 - 蓝色 { x: 0, y: 3, color: '#ED6D50' }, // 红色 { x: 1, y: 3, color: '#F2A4C0' }, // 粉色 { x: 2, y: 3, color: '#79A7ED' }, // 蓝色 { x: 3, y: 3, color: '#6CD2EA' }, // 对称轴 - 浅蓝 // 尾巴(左半部分)- 多色 { x: 1, y: 4, color: '#F2A4C0' }, // 粉色 { x: 2, y: 4, color: '#79A7ED' }, // 蓝色 { x: 3, y: 4, color: '#6CD2EA' }, // 对称轴 - 浅蓝 { x: 2, y: 5, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 5, color: '#53D1B6' }, // 对称轴 - 青色 ], }, // 小熊 { id: 'bear-7x7-001', name: '小熊', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部和耳朵(左半部分) { x: 1, y: 0, color: '#F9A857' }, // 橙色 { x: 2, y: 0, color: '#ED6D50' }, // 红色 { x: 3, y: 0, color: '#F9A857' }, // 对称轴 { x: 0, y: 1, color: '#F9A857' }, // 橙色(耳朵) { x: 1, y: 1, color: '#ED6D50' }, // 红色 { x: 2, y: 1, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 1, color: '#F9A857' }, // 对称轴 // 身体(左半部分) { x: 0, y: 2, color: '#F9A857' }, // 橙色 { x: 1, y: 2, color: '#ED6D50' }, // 红色 { x: 2, y: 2, color: '#F9A857' }, // 橙色 { x: 3, y: 2, color: '#F9A857' }, // 对称轴 { x: 0, y: 3, color: '#F9A857' }, // 橙色 { x: 1, y: 3, color: '#ED6D50' }, // 红色 { x: 2, y: 3, color: '#F9A857' }, // 橙色 { x: 3, y: 3, color: '#F9A857' }, // 对称轴 // 腿 { x: 0, y: 4, color: '#F9A857' }, // 橙色 { x: 1, y: 4, color: '#ED6D50' }, // 红色 { x: 2, y: 4, color: '#F9A857' }, // 橙色 { x: 3, y: 4, color: '#ED6D50' }, // 对称轴(腿) { x: 0, y: 5, color: '#ED6D50' }, // 红色(腿) { x: 1, y: 5, color: '#F9A857' }, // 橙色 { x: 2, y: 5, color: '#ED6D50' }, // 红色(腿) { x: 3, y: 5, color: '#ED6D50' }, // 对称轴(腿) { x: 0, y: 6, color: '#ED6D50' }, // 红色(腿) { x: 2, y: 6, color: '#ED6D50' }, // 红色(腿) { x: 3, y: 6, color: '#ED6D50' }, // 对称轴(腿) ], }, // 小鸭子 { id: 'duck-7x7-001', name: '小鸭子', category: 'animal', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部(左半部分) { x: 1, y: 0, color: '#FFE176' }, // 黄色 { x: 2, y: 0, color: '#F9A857' }, // 橙色 { x: 3, y: 0, color: '#ED6D50' }, // 对称轴 - 红色(嘴巴) { x: 0, y: 1, color: '#FFE176' }, // 黄色 { x: 1, y: 1, color: '#F9A857' }, // 橙色 { x: 2, y: 1, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 1, color: '#FFE176' }, // 对称轴 // 身体(左半部分) { x: 0, y: 2, color: '#FFE176' }, // 黄色 { x: 1, y: 2, color: '#F9A857' }, // 橙色 { x: 2, y: 2, color: '#ED6D50' }, // 红色 { x: 3, y: 2, color: '#FFE176' }, // 对称轴 { x: 0, y: 3, color: '#FFE176' }, // 黄色 { x: 1, y: 3, color: '#F9A857' }, // 橙色 { x: 2, y: 3, color: '#ED6D50' }, // 红色 { x: 3, y: 3, color: '#FFE176' }, // 对称轴 // 翅膀和脚 { x: 0, y: 4, color: '#F9A857' }, // 橙色(翅膀) { x: 1, y: 4, color: '#ED6D50' }, // 红色 { x: 2, y: 4, color: '#FFE176' }, // 黄色 { x: 3, y: 4, color: '#F9A857' }, // 对称轴 { x: 1, y: 5, color: '#ED6D50' }, // 红色(脚) { x: 2, y: 5, color: '#ED6D50' }, // 红色(脚) { x: 3, y: 5, color: '#ED6D50' }, // 对称轴(脚) { x: 2, y: 6, color: '#ED6D50' }, // 红色(脚) { x: 3, y: 6, color: '#ED6D50' }, // 对称轴(脚) ], }, // 小象 { id: 'elephant-7x7-001', name: '小象', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, cells: [ // 头部和鼻子(左半部分) { x: 1, y: 0, color: '#79A7ED' }, // 蓝色 { x: 2, y: 0, color: '#6CD2EA' }, // 浅蓝 { x: 3, y: 0, color: '#6CD2EA' }, // 对称轴 { x: 0, y: 1, color: '#79A7ED' }, // 蓝色 { x: 1, y: 1, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 1, color: '#666666' }, // 黑色(眼睛) { x: 3, y: 1, color: '#79A7ED' }, // 对称轴 { x: 0, y: 2, color: '#79A7ED' }, // 蓝色(鼻子) { x: 1, y: 2, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 2, color: '#79A7ED' }, // 蓝色 { x: 3, y: 2, color: '#6CD2EA' }, // 对称轴 // 身体(左半部分) { x: 0, y: 3, color: '#79A7ED' }, // 蓝色 { x: 1, y: 3, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 3, color: '#79A7ED' }, // 蓝色 { x: 3, y: 3, color: '#6CD2EA' }, // 对称轴 { x: 0, y: 4, color: '#79A7ED' }, // 蓝色 { x: 1, y: 4, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 4, color: '#79A7ED' }, // 蓝色 { x: 3, y: 4, color: '#6CD2EA' }, // 对称轴 // 腿 { x: 0, y: 5, color: '#79A7ED' }, // 蓝色(腿) { x: 1, y: 5, color: '#6CD2EA' }, // 浅蓝 { x: 2, y: 5, color: '#79A7ED' }, // 蓝色(腿) { x: 3, y: 5, color: '#6CD2EA' }, // 对称轴(腿) { x: 0, y: 6, color: '#79A7ED' }, // 蓝色(腿) { x: 2, y: 6, color: '#79A7ED' }, // 蓝色(腿) { x: 3, y: 6, color: '#6CD2EA' }, // 对称轴(腿) ], }, // 香蕉/玉米角色 - 对称涂色(仅存储左半部分) { id: 'banana-corn-7x7-001', name: '香蕉/玉米角色', category: 'character', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, // 只存储了左半部分 cells: [ // 顶部(绿色)- 左半部分 { x: 0, y: 0, color: '#B2D94B' }, { x: 1, y: 0, color: '#B2D94B' }, { x: 2, y: 0, color: '#B2D94B' }, { x: 3, y: 0, color: '#F9A857' }, // 对称轴 - 橙色 { x: 0, y: 1, color: '#B2D94B' }, { x: 1, y: 1, color: '#B2D94B' }, { x: 2, y: 1, color: '#B2D94B' }, { x: 3, y: 1, color: '#F9A857' }, // 对称轴 - 橙色 // 中间部分(绿色和橙色)- 左半部分 { x: 0, y: 2, color: '#B2D94B' }, { x: 1, y: 2, color: '#B2D94B' }, { x: 2, y: 2, color: '#F9A857' }, // 橙色 { x: 3, y: 2, color: '#FFE176' }, // 对称轴 - 黄色 { x: 0, y: 3, color: '#B2D94B' }, { x: 1, y: 3, color: '#B2D94B' }, { x: 2, y: 3, color: '#F9A857' }, // 橙色 { x: 3, y: 3, color: '#666666' }, // 对称轴 - 黑色(眼睛) { x: 0, y: 4, color: '#B2D94B' }, { x: 1, y: 4, color: '#B2D94B' }, { x: 2, y: 4, color: '#F9A857' }, // 橙色 { x: 3, y: 4, color: '#FFE176' }, // 对称轴 - 黄色 // 底部(绿色和橙色)- 左半部分 { x: 0, y: 5, color: '#B2D94B' }, { x: 1, y: 5, color: '#B2D94B' }, { x: 2, y: 5, color: '#B2D94B' }, { x: 3, y: 5, color: '#F9A857' }, // 对称轴 - 橙色 { x: 0, y: 6, color: '#B2D94B' }, { x: 1, y: 6, color: '#B2D94B' }, { x: 2, y: 6, color: '#B2D94B' }, { x: 3, y: 6, color: '#F9A857' }, // 对称轴 - 橙色 ], }, // 青蛙/恐龙头 - 对称涂色(仅存储左半部分) { id: 'frog-dinosaur-head-7x7-001', name: '青蛙/恐龙头', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: false, // 只存储了左半部分 cells: [ // 顶部(绿色和黄色)- 左半部分 { x: 0, y: 0, color: '#B2D94B' }, { x: 1, y: 0, color: '#B2D94B' }, { x: 2, y: 0, color: '#B2D94B' }, { x: 3, y: 0, color: '#FFE176' }, // 对称轴 - 黄色 { x: 0, y: 1, color: '#B2D94B' }, { x: 1, y: 1, color: '#B2D94B' }, { x: 2, y: 1, color: '#FFE176' }, // 黄色 { x: 3, y: 1, color: '#B2D94B' }, // 对称轴 // 眼睛部分(绿色和黑色)- 左半部分 { x: 0, y: 2, color: '#B2D94B' }, { x: 1, y: 2, color: '#B2D94B' }, { x: 2, y: 2, color: '#666666' }, // 黑色(左眼) { x: 3, y: 2, color: '#666666' }, // 对称轴 - 黑色(右眼) // 嘴巴部分(绿色和红色)- 左半部分 { x: 0, y: 3, color: '#B2D94B' }, { x: 1, y: 3, color: '#B2D94B' }, { x: 2, y: 3, color: '#ED6D50' }, // 红色(舌头) { x: 3, y: 3, color: '#ED6D50' }, // 对称轴 - 红色(舌头) // 下巴部分(绿色)- 左半部分 { x: 0, y: 4, color: '#B2D94B' }, { x: 1, y: 4, color: '#B2D94B' }, { x: 2, y: 4, color: '#B2D94B' }, { x: 3, y: 4, color: '#B2D94B' }, // 对称轴 // 底部(绿色)- 左半部分 { x: 0, y: 5, color: '#B2D94B' }, { x: 1, y: 5, color: '#B2D94B' }, { x: 2, y: 5, color: '#B2D94B' }, { x: 3, y: 5, color: '#B2D94B' }, // 对称轴 { x: 0, y: 6, color: '#B2D94B' }, { x: 1, y: 6, color: '#B2D94B' }, { x: 2, y: 6, color: '#B2D94B' }, { x: 3, y: 6, color: '#B2D94B' }, // 对称轴 ], }, // 树(完整版) { id: 'tree-7x7-002', name: '树', category: 'nature', difficulty: 2, supportSymmetry: true, symmetryType: 'vertical', isComplete: true, cells: [ // 树冠(绿色) { x: 3, y: 0, color: '#B2D94B' }, { x: 2, y: 1, color: '#B2D94B' }, { x: 3, y: 1, color: '#B2D94B' }, { x: 4, y: 1, color: '#B2D94B' }, { x: 1, y: 2, color: '#B2D94B' }, { x: 2, y: 2, color: '#B2D94B' }, { x: 3, y: 2, color: '#B2D94B' }, { x: 4, y: 2, color: '#B2D94B' }, { x: 5, y: 2, color: '#B2D94B' }, // 树干(棕色) { x: 3, y: 3, color: '#BC8F71' }, { x: 3, y: 4, color: '#BC8F71' }, { x: 3, y: 5, color: '#BC8F71' }, { x: 3, y: 6, color: '#BC8F71' }, ], }, // 心形(完整版) { id: 'heart-7x7-002', name: '心形', category: 'object', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: true, cells: [ // 心形顶部 { x: 2, y: 0, color: '#F2A4C0' }, { x: 3, y: 0, color: '#F2A4C0' }, { x: 4, y: 0, color: '#F2A4C0' }, { x: 1, y: 1, color: '#F2A4C0' }, { x: 2, y: 1, color: '#F2A4C0' }, { x: 3, y: 1, color: '#F2A4C0' }, { x: 4, y: 1, color: '#F2A4C0' }, { x: 5, y: 1, color: '#F2A4C0' }, { x: 1, y: 2, color: '#F2A4C0' }, { x: 2, y: 2, color: '#F2A4C0' }, { x: 3, y: 2, color: '#F2A4C0' }, { x: 4, y: 2, color: '#F2A4C0' }, { x: 5, y: 2, color: '#F2A4C0' }, // 心形底部 { x: 2, y: 3, color: '#F2A4C0' }, { x: 3, y: 3, color: '#F2A4C0' }, { x: 4, y: 3, color: '#F2A4C0' }, { x: 3, y: 4, color: '#F2A4C0' }, { x: 3, y: 5, color: '#F2A4C0' }, ], }, // 星星(完整版) { id: 'star-7x7-003', name: '星星', category: 'geometric', difficulty: 4, supportSymmetry: true, symmetryType: 'both', isComplete: true, cells: [ // 星星顶点 { x: 3, y: 0, color: '#FFE176' }, // 星星臂膀 { x: 1, y: 1, color: '#FFE176' }, { x: 3, y: 1, color: '#FFE176' }, { x: 5, y: 1, color: '#FFE176' }, { x: 2, y: 2, color: '#FFE176' }, { x: 3, y: 2, color: '#FFE176' }, { x: 4, y: 2, color: '#FFE176' }, // 星星中心 { x: 3, y: 3, color: '#FFE176' }, // 星星底部 { x: 0, y: 4, color: '#FFE176' }, { x: 3, y: 4, color: '#FFE176' }, { x: 6, y: 4, color: '#FFE176' }, { x: 2, y: 5, color: '#FFE176' }, { x: 4, y: 5, color: '#FFE176' }, { x: 3, y: 6, color: '#FFE176' }, ], }, // 鱼(完整版,非对称) { id: 'fish-7x7-004', name: '鱼', category: 'animal', difficulty: 3, supportSymmetry: false, isComplete: true, cells: [ // 鱼身体(蓝色) { x: 2, y: 1, color: '#79A7ED' }, { x: 3, y: 1, color: '#79A7ED' }, { x: 4, y: 1, color: '#79A7ED' }, { x: 1, y: 2, color: '#79A7ED' }, { x: 2, y: 2, color: '#79A7ED' }, { x: 3, y: 2, color: '#79A7ED' }, { x: 4, y: 2, color: '#666666' }, // 眼睛 { x: 5, y: 2, color: '#79A7ED' }, { x: 2, y: 3, color: '#79A7ED' }, { x: 3, y: 3, color: '#79A7ED' }, { x: 4, y: 3, color: '#79A7ED' }, // 鱼尾 { x: 5, y: 3, color: '#79A7ED' }, { x: 6, y: 4, color: '#79A7ED' }, ], }, // 小船 { id: 'boat-7x7-005', name: '小船', category: 'object', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: true, cells: [ // 船身(棕色) { x: 1, y: 3, color: '#BC8F71' }, { x: 2, y: 3, color: '#BC8F71' }, { x: 3, y: 3, color: '#BC8F71' }, { x: 4, y: 3, color: '#BC8F71' }, { x: 5, y: 3, color: '#BC8F71' }, { x: 2, y: 4, color: '#BC8F71' }, { x: 3, y: 4, color: '#BC8F71' }, { x: 4, y: 4, color: '#BC8F71' }, { x: 3, y: 5, color: '#BC8F71' }, // 帆(浅色) { x: 3, y: 0, color: '#F2F2F2' }, { x: 3, y: 1, color: '#F2F2F2' }, { x: 4, y: 1, color: '#F2F2F2' }, { x: 3, y: 2, color: '#F2F2F2' }, { x: 4, y: 2, color: '#F2F2F2' }, { x: 5, y: 2, color: '#F2F2F2' }, ], }, // 汽车 { id: 'car-7x7-006', name: '汽车', category: 'object', difficulty: 3, supportSymmetry: true, symmetryType: 'vertical', isComplete: true, cells: [ // 车身(红色) { x: 1, y: 2, color: '#ED6D50' }, { x: 2, y: 2, color: '#ED6D50' }, { x: 3, y: 2, color: '#ED6D50' }, { x: 4, y: 2, color: '#ED6D50' }, { x: 5, y: 2, color: '#ED6D50' }, { x: 0, y: 3, color: '#ED6D50' }, { x: 1, y: 3, color: '#ED6D50' }, { x: 2, y: 3, color: '#ED6D50' }, { x: 3, y: 3, color: '#ED6D50' }, { x: 4, y: 3, color: '#ED6D50' }, { x: 5, y: 3, color: '#ED6D50' }, { x: 6, y: 3, color: '#ED6D50' }, { x: 1, y: 4, color: '#ED6D50' }, { x: 2, y: 4, color: '#ED6D50' }, { x: 3, y: 4, color: '#ED6D50' }, { x: 4, y: 4, color: '#ED6D50' }, { x: 5, y: 4, color: '#ED6D50' }, // 车轮(深灰色) { x: 1, y: 5, color: '#666666' }, { x: 5, y: 5, color: '#666666' }, ], }, // 云 { id: 'cloud-7x7-007', name: '云', category: 'nature', difficulty: 2, supportSymmetry: false, isComplete: true, cells: [ // 云朵形状(浅灰色) { x: 2, y: 1, color: '#E0E0E0' }, { x: 3, y: 1, color: '#E0E0E0' }, { x: 4, y: 1, color: '#E0E0E0' }, { x: 1, y: 2, color: '#E0E0E0' }, { x: 2, y: 2, color: '#E0E0E0' }, { x: 3, y: 2, color: '#E0E0E0' }, { x: 4, y: 2, color: '#E0E0E0' }, { x: 5, y: 2, color: '#E0E0E0' }, { x: 2, y: 3, color: '#E0E0E0' }, { x: 3, y: 3, color: '#E0E0E0' }, { x: 4, y: 3, color: '#E0E0E0' }, ], }, // 太阳(完整版) { id: 'sun-7x7-008', name: '太阳', category: 'nature', difficulty: 2, supportSymmetry: true, symmetryType: 'both', isComplete: true, cells: [ // 太阳中心(黄色) { x: 3, y: 3, color: '#FFE176' }, // 太阳光线 { x: 3, y: 0, color: '#FFE176' }, { x: 3, y: 6, color: '#FFE176' }, { x: 0, y: 3, color: '#FFE176' }, { x: 6, y: 3, color: '#FFE176' }, { x: 1, y: 1, color: '#FFE176' }, { x: 5, y: 5, color: '#FFE176' }, { x: 1, y: 5, color: '#FFE176' }, { x: 5, y: 1, color: '#FFE176' }, ], }, // 月亮 { id: 'moon-7x7-009', name: '月亮', category: 'nature', difficulty: 3, supportSymmetry: false, isComplete: true, cells: [ // 新月形状(黄色) { x: 3, y: 0, color: '#FFE176' }, { x: 2, y: 1, color: '#FFE176' }, { x: 3, y: 1, color: '#FFE176' }, { x: 4, y: 1, color: '#FFE176' }, { x: 1, y: 2, color: '#FFE176' }, { x: 2, y: 2, color: '#FFE176' }, { x: 3, y: 2, color: '#FFE176' }, { x: 4, y: 2, color: '#FFE176' }, { x: 5, y: 2, color: '#FFE176' }, { x: 2, y: 3, color: '#FFE176' }, { x: 3, y: 3, color: '#FFE176' }, { x: 4, y: 3, color: '#FFE176' }, { x: 3, y: 4, color: '#FFE176' }, ], }, // 蝴蝶(完整版) { id: 'butterfly-7x7-010', name: '蝴蝶', category: 'animal', difficulty: 4, supportSymmetry: true, symmetryType: 'vertical', isComplete: true, cells: [ // 蝴蝶身体(棕色) { x: 3, y: 2, color: '#BC8F71' }, { x: 3, y: 3, color: '#BC8F71' }, { x: 3, y: 4, color: '#BC8F71' }, // 蝴蝶翅膀(粉色,对称) { x: 1, y: 0, color: '#F2A4C0' }, { x: 2, y: 0, color: '#F2A4C0' }, { x: 4, y: 0, color: '#F2A4C0' }, { x: 5, y: 0, color: '#F2A4C0' }, { x: 0, y: 1, color: '#F2A4C0' }, { x: 1, y: 1, color: '#F2A4C0' }, { x: 2, y: 1, color: '#F2A4C0' }, { x: 3, y: 1, color: '#F2A4C0' }, { x: 4, y: 1, color: '#F2A4C0' }, { x: 5, y: 1, color: '#F2A4C0' }, { x: 6, y: 1, color: '#F2A4C0' }, { x: 1, y: 2, color: '#F2A4C0' }, { x: 2, y: 2, color: '#F2A4C0' }, { x: 4, y: 2, color: '#F2A4C0' }, { x: 5, y: 2, color: '#F2A4C0' }, ], }, ]; /** * 随机获取一个 7x7 形状 */ export function getRandom7x7Shape(): ShapeTemplate { const randomIndex = Math.floor(Math.random() * ALL_7X7_SHAPES.length); return ALL_7X7_SHAPES[randomIndex]; }