1614 lines
64 KiB
TypeScript
1614 lines
64 KiB
TypeScript
/**
|
|
* 格子仿画 - 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];
|
|
}
|