695 lines
22 KiB
TypeScript
695 lines
22 KiB
TypeScript
/**
|
|
* 格子仿画 - 3x3 网格形状数据
|
|
* 适用于入门级,低龄儿童
|
|
*/
|
|
|
|
import { ShapeTemplate } from '../types/gridTypes';
|
|
|
|
// ==================== 3x3 形状模板 ====================
|
|
|
|
/** 所有 3x3 形状模板 总共39个形状模板 */
|
|
export const ALL_3X3_SHAPES: ShapeTemplate[] = [
|
|
/** 简单十字形 */
|
|
{
|
|
id: 'cross-3x3-001',
|
|
name: '十字形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#FFE176' }, // 顶部 - 黄色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 左侧 - 橙色
|
|
{ x: 1, y: 1, color: '#ED6D50' }, // 中心 - 红色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 右侧 - 橙色
|
|
{ x: 1, y: 2, color: '#FFE176' }, // 底部 - 黄色
|
|
],
|
|
},
|
|
/** L形 */
|
|
{
|
|
id: 'l-3x3-001',
|
|
name: 'L形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#79A7ED' }, // 蓝色
|
|
{ x: 0, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 0, y: 2, color: '#53D1B6' }, // 青色
|
|
{ x: 1, y: 2, color: '#B2D94B' }, // 绿色
|
|
{ x: 2, y: 2, color: '#FFE176' }, // 黄色
|
|
],
|
|
},
|
|
/** 对角线 */
|
|
{
|
|
id: 'diagonal-3x3-001',
|
|
name: '对角线',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#ED6D50' }, // 红色
|
|
{ x: 1, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 2, color: '#FFE176' }, // 黄色
|
|
],
|
|
},
|
|
|
|
/** 反向对角线 */
|
|
{
|
|
id: 'reverse-diagonal-3x3-001',
|
|
name: '反向对角线',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 2, color: '#F2A4C0' },
|
|
{ x: 1, y: 1, color: '#79A7ED' },
|
|
{ x: 2, y: 0, color: '#B2D94B' },
|
|
],
|
|
},
|
|
|
|
/** 小房子 */
|
|
{
|
|
id: 'house-3x3-001',
|
|
name: '小房子',
|
|
category: 'object',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#ED6D50' }, // 屋顶
|
|
{ x: 0, y: 1, color: '#FFE176' }, // 左侧墙
|
|
{ x: 1, y: 1, color: '#FFE176' }, // 中间墙
|
|
{ x: 2, y: 1, color: '#FFE176' }, // 右侧墙
|
|
{ x: 1, y: 2, color: '#BC8F71' }, // 门
|
|
],
|
|
},
|
|
|
|
/** 小星星 */
|
|
{
|
|
id: 'star-3x3-001',
|
|
name: '小星星',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#FFE176' }, // 顶部 - 黄色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 左侧 - 橙色
|
|
{ x: 1, y: 1, color: '#ED6D50' }, // 中心 - 红色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 右侧 - 橙色
|
|
{ x: 1, y: 2, color: '#FFE176' }, // 底部 - 黄色
|
|
],
|
|
},
|
|
|
|
/** T形 */
|
|
{
|
|
id: 't-3x3-001',
|
|
name: 'T形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 1, y: 0, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 1, y: 1, color: '#79A7ED' }, // 蓝色
|
|
{ x: 1, y: 2, color: '#6CD2EA' }, // 浅蓝
|
|
],
|
|
},
|
|
|
|
/** 倒T形 */
|
|
{
|
|
id: 'reverse-t-3x3-001',
|
|
name: '倒T形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 2, color: '#ED6D50' },
|
|
{ x: 1, y: 2, color: '#F9A857' },
|
|
{ x: 2, y: 2, color: '#FFE176' },
|
|
{ x: 1, y: 1, color: '#B2D94B' },
|
|
{ x: 1, y: 0, color: '#79A7ED' },
|
|
],
|
|
},
|
|
|
|
/** 三角形 */
|
|
{
|
|
id: 'triangle-3x3-001',
|
|
name: '三角形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#FFE176' }, // 顶部 - 黄色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 左侧 - 橙色
|
|
{ x: 1, y: 1, color: '#ED6D50' }, // 中心 - 红色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 右侧 - 橙色
|
|
{ x: 0, y: 2, color: '#F2A4C0' }, // 左下 - 粉色
|
|
{ x: 1, y: 2, color: '#ED6D50' }, // 中下 - 红色
|
|
{ x: 2, y: 2, color: '#F2A4C0' }, // 右下 - 粉色
|
|
],
|
|
},
|
|
|
|
/** 正方形 */
|
|
{
|
|
id: 'square-3x3-001',
|
|
name: '正方形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#9C98DE' }, // 紫色
|
|
{ x: 1, y: 0, color: '#F2A4C0' }, // 粉色
|
|
{ x: 0, y: 1, color: '#F2A4C0' }, // 粉色
|
|
{ x: 1, y: 1, color: '#9C98DE' }, // 紫色
|
|
],
|
|
},
|
|
|
|
/** 向上箭头 */
|
|
{
|
|
id: 'arrow-up-3x3-001',
|
|
name: '向上箭头',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#6CD2EA' }, // 箭头顶部 - 浅蓝
|
|
{ x: 0, y: 1, color: '#53D1B6' }, // 左侧 - 青色
|
|
{ x: 1, y: 1, color: '#79A7ED' }, // 中心 - 蓝色
|
|
{ x: 2, y: 1, color: '#53D1B6' }, // 右侧 - 青色
|
|
{ x: 1, y: 2, color: '#6CD2EA' }, // 箭头杆 - 浅蓝
|
|
],
|
|
},
|
|
|
|
/** 数字7 */
|
|
{
|
|
id: 'number-7-3x3-001',
|
|
name: '数字7',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#FC9B6C' }, // 橙色
|
|
{ x: 1, y: 0, color: '#F9A857' }, // 浅橙
|
|
{ x: 2, y: 0, color: '#ED6D50' }, // 红色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 浅橙
|
|
{ x: 1, y: 2, color: '#ED6D50' }, // 红色
|
|
{ x: 2, y: 2, color: '#FC9B6C' }, // 橙色
|
|
],
|
|
},
|
|
|
|
/** 边框 */
|
|
{
|
|
id: 'frame-3x3-001',
|
|
name: '边框',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#B2D94B' }, // 绿色
|
|
{ x: 1, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 2, y: 0, color: '#B2D94B' }, // 绿色
|
|
{ x: 0, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 0, y: 2, color: '#B2D94B' }, // 绿色
|
|
{ x: 1, y: 2, color: '#53D1B6' }, // 青色
|
|
{ x: 2, y: 2, color: '#B2D94B' }, // 绿色
|
|
],
|
|
},
|
|
|
|
/** 加号(大) */
|
|
{
|
|
id: 'plus-3x3-001',
|
|
name: '加号',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#F2A4C0' }, // 粉色
|
|
{ x: 0, y: 1, color: '#ED6D50' }, // 红色
|
|
{ x: 1, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 1, color: '#ED6D50' }, // 红色
|
|
{ x: 1, y: 2, color: '#F2A4C0' }, // 粉色
|
|
],
|
|
},
|
|
|
|
/** 点阵 */
|
|
{
|
|
id: 'dots-3x3-001',
|
|
name: '点阵',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#79A7ED' }, // 蓝色
|
|
{ x: 2, y: 0, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 1, y: 1, color: '#53D1B6' }, // 青色
|
|
{ x: 0, y: 2, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 2, color: '#79A7ED' }, // 蓝色
|
|
],
|
|
},
|
|
|
|
/** 向下箭头 */
|
|
{
|
|
id: 'arrow-down-3x3-001',
|
|
name: '向下箭头',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#6CD2EA' }, // 箭头杆 - 浅蓝
|
|
{ x: 0, y: 1, color: '#53D1B6' }, // 左侧 - 青色
|
|
{ x: 1, y: 1, color: '#79A7ED' }, // 中心 - 蓝色
|
|
{ x: 2, y: 1, color: '#53D1B6' }, // 右侧 - 青色
|
|
{ x: 1, y: 2, color: '#6CD2EA' }, // 箭头底部 - 浅蓝
|
|
],
|
|
},
|
|
|
|
/** 菱形 */
|
|
{
|
|
id: 'diamond-3x3-001',
|
|
name: '菱形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#FFE176' }, // 顶部 - 黄色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 左侧 - 橙色
|
|
{ x: 1, y: 1, color: '#ED6D50' }, // 中心 - 红色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 右侧 - 橙色
|
|
{ x: 1, y: 2, color: '#FFE176' }, // 底部 - 黄色
|
|
],
|
|
},
|
|
|
|
/** U形 */
|
|
{
|
|
id: 'u-3x3-001',
|
|
name: 'U形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 2, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 0, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 0, y: 2, color: '#79A7ED' }, // 蓝色
|
|
{ x: 1, y: 2, color: '#B2D94B' }, // 绿色
|
|
{ x: 2, y: 2, color: '#79A7ED' }, // 蓝色
|
|
],
|
|
},
|
|
|
|
/** C形 */
|
|
{
|
|
id: 'c-3x3-001',
|
|
name: 'C形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#ED6D50' }, // 红色
|
|
{ x: 1, y: 0, color: '#F9A857' }, // 橙色
|
|
{ x: 0, y: 1, color: '#FFE176' }, // 黄色
|
|
{ x: 0, y: 2, color: '#F9A857' }, // 橙色
|
|
{ x: 1, y: 2, color: '#ED6D50' }, // 红色
|
|
],
|
|
},
|
|
|
|
/** 倒三角形 */
|
|
{
|
|
id: 'inverted-triangle-3x3-001',
|
|
name: '倒三角形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#B2D94B' }, // 绿色
|
|
{ x: 1, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 2, y: 0, color: '#B2D94B' }, // 绿色
|
|
{ x: 0, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 1, y: 1, color: '#79A7ED' }, // 蓝色
|
|
{ x: 2, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 1, y: 2, color: '#53D1B6' }, // 底部 - 青色
|
|
],
|
|
},
|
|
|
|
/** 数字1 */
|
|
{
|
|
id: 'number-1-3x3-001',
|
|
name: '数字1',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#FC9B6C' }, // 橙色
|
|
{ x: 1, y: 1, color: '#F9A857' }, // 浅橙
|
|
{ x: 1, y: 2, color: '#ED6D50' }, // 红色
|
|
],
|
|
},
|
|
|
|
/** 数字4 */
|
|
{
|
|
id: 'number-4-3x3-001',
|
|
name: '数字4',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#F2A4C0' }, // 粉色
|
|
{ x: 1, y: 0, color: '#ED6D50' }, // 红色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 1, y: 1, color: '#FFE176' }, // 黄色
|
|
{ x: 2, y: 1, color: '#F2A4C0' }, // 粉色
|
|
{ x: 2, y: 2, color: '#ED6D50' }, // 红色
|
|
],
|
|
},
|
|
|
|
/** 圆形(3x3近似) */
|
|
{
|
|
id: 'circle-3x3-001',
|
|
name: '圆形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#9C98DE' }, // 紫色
|
|
{ x: 0, y: 1, color: '#F2A4C0' }, // 粉色
|
|
{ x: 2, y: 1, color: '#F2A4C0' }, // 粉色
|
|
{ x: 1, y: 2, color: '#9C98DE' }, // 紫色
|
|
],
|
|
},
|
|
|
|
/** 数字0 */
|
|
{
|
|
id: 'number-0-3x3-001',
|
|
name: '数字0',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#FFE176' }, // 黄色
|
|
{ x: 1, y: 0, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 0, color: '#FFE176' }, // 黄色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 0, y: 2, color: '#FFE176' }, // 黄色
|
|
{ x: 1, y: 2, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 2, color: '#FFE176' }, // 黄色
|
|
],
|
|
},
|
|
|
|
/** 数字8 */
|
|
{
|
|
id: 'number-8-3x3-001',
|
|
name: '数字8',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#79A7ED' }, // 蓝色
|
|
{ x: 1, y: 0, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 0, color: '#79A7ED' }, // 蓝色
|
|
{ x: 0, y: 1, color: '#53D1B6' }, // 青色
|
|
{ x: 1, y: 1, color: '#B2D94B' }, // 绿色
|
|
{ x: 2, y: 1, color: '#53D1B6' }, // 青色
|
|
{ x: 0, y: 2, color: '#79A7ED' }, // 蓝色
|
|
{ x: 1, y: 2, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 2, color: '#79A7ED' }, // 蓝色
|
|
],
|
|
},
|
|
|
|
/** 多色十字形 */
|
|
{
|
|
id: 'colorful-cross-3x3-001',
|
|
name: '多色十字形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#FFE176' }, // 顶部 - 黄色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 左侧 - 橙色
|
|
{ x: 1, y: 1, color: '#ED6D50' }, // 中心 - 红色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 右侧 - 橙色
|
|
{ x: 1, y: 2, color: '#FFE176' }, // 底部 - 黄色
|
|
],
|
|
},
|
|
|
|
/** 多色L形 */
|
|
{
|
|
id: 'colorful-l-3x3-001',
|
|
name: '多色L形',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#79A7ED' }, // 蓝色
|
|
{ x: 0, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 0, y: 2, color: '#53D1B6' }, // 青色
|
|
{ x: 1, y: 2, color: '#B2D94B' }, // 绿色
|
|
{ x: 2, y: 2, color: '#FFE176' }, // 黄色
|
|
],
|
|
},
|
|
|
|
/** 多色星星 */
|
|
{
|
|
id: 'colorful-star-3x3-001',
|
|
name: '多色星星',
|
|
category: 'geometric',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#FFE176' }, // 顶部 - 黄色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 左侧 - 橙色
|
|
{ x: 1, y: 1, color: '#ED6D50' }, // 中心 - 红色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 右侧 - 橙色
|
|
{ x: 1, y: 2, color: '#FFE176' }, // 底部 - 黄色
|
|
],
|
|
},
|
|
|
|
/** 多色小房子 */
|
|
{
|
|
id: 'colorful-house-3x3-001',
|
|
name: '多色小房子',
|
|
category: 'object',
|
|
difficulty: 1,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#ED6D50' }, // 屋顶 - 红色
|
|
{ x: 0, y: 1, color: '#FFE176' }, // 左侧墙 - 黄色
|
|
{ x: 1, y: 1, color: '#F9A857' }, // 中间墙 - 橙色
|
|
{ x: 2, y: 1, color: '#FFE176' }, // 右侧墙 - 黄色
|
|
{ x: 1, y: 2, color: '#BC8F71' }, // 门 - 棕色
|
|
],
|
|
},
|
|
|
|
/** 数字2 */
|
|
{
|
|
id: 'number-2-3x3-001',
|
|
name: '数字2',
|
|
category: 'geometric',
|
|
difficulty: 2,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#79A7ED' }, // 蓝色
|
|
{ x: 1, y: 0, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 2, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 0, y: 2, color: '#53D1B6' }, // 青色
|
|
{ x: 1, y: 2, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 2, color: '#79A7ED' }, // 蓝色
|
|
],
|
|
},
|
|
/** 数字3 */
|
|
{
|
|
id: 'number-3-3x3-001',
|
|
name: '数字3',
|
|
category: 'geometric',
|
|
difficulty: 2,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 1, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 2, y: 0, color: '#79A7ED' }, // 蓝色
|
|
{ x: 2, y: 1, color: '#53D1B6' }, // 青色
|
|
{ x: 0, y: 2, color: '#79A7ED' }, // 蓝色
|
|
{ x: 1, y: 2, color: '#53D1B6' }, // 青色
|
|
{ x: 2, y: 2, color: '#6CD2EA' }, // 浅蓝
|
|
],
|
|
},
|
|
|
|
/** 数字5 */
|
|
{
|
|
id: 'number-5-3x3-001',
|
|
name: '数字5',
|
|
category: 'geometric',
|
|
difficulty: 2,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 1, y: 0, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 0, color: '#79A7ED' }, // 蓝色
|
|
{ x: 0, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 0, y: 2, color: '#79A7ED' }, // 蓝色
|
|
{ x: 1, y: 2, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 2, color: '#53D1B6' }, // 青色
|
|
],
|
|
},
|
|
|
|
/** 数字6 */
|
|
{
|
|
id: 'number-6-3x3-001',
|
|
name: '数字6',
|
|
category: 'geometric',
|
|
difficulty: 2,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#B2D94B' }, // 绿色
|
|
{ x: 1, y: 0, color: '#53D1B6' }, // 青色
|
|
{ x: 0, y: 1, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 0, y: 2, color: '#79A7ED' }, // 蓝色
|
|
{ x: 1, y: 2, color: '#6CD2EA' }, // 浅蓝
|
|
{ x: 2, y: 2, color: '#53D1B6' }, // 青色
|
|
],
|
|
},
|
|
|
|
/** 数字9 */
|
|
{
|
|
id: 'number-9-3x3-001',
|
|
name: '数字9',
|
|
category: 'geometric',
|
|
difficulty: 2,
|
|
supportSymmetry: false,
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#F2A4C0' }, // 粉色
|
|
{ x: 1, y: 0, color: '#ED6D50' }, // 红色
|
|
{ x: 2, y: 0, color: '#F9A857' }, // 橙色
|
|
{ x: 0, y: 1, color: '#ED6D50' }, // 红色
|
|
{ x: 2, y: 1, color: '#FFE176' }, // 黄色
|
|
{ x: 1, y: 2, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 2, color: '#ED6D50' }, // 红色
|
|
],
|
|
},
|
|
/** 字母A */
|
|
{
|
|
id: 'letter-a-3x3-001',
|
|
name: '字母A',
|
|
category: 'geometric',
|
|
difficulty: 2,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 1, y: 0, color: '#FFE176' }, // 黄色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 1, y: 1, color: '#ED6D50' }, // 红色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 0, y: 2, color: '#FFE176' }, // 黄色
|
|
{ x: 2, y: 2, color: '#FFE176' }, // 黄色
|
|
],
|
|
},
|
|
/** 字母H */
|
|
{
|
|
id: 'letter-h-3x3-001',
|
|
name: '字母H',
|
|
category: 'geometric',
|
|
difficulty: 2,
|
|
supportSymmetry: true,
|
|
symmetryType: 'vertical',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 0, color: '#F9A857' }, // 橙色
|
|
{ x: 0, y: 1, color: '#ED6D50' }, // 红色
|
|
{ x: 1, y: 1, color: '#FFE176' }, // 黄色
|
|
{ x: 2, y: 1, color: '#ED6D50' }, // 红色
|
|
{ x: 0, y: 2, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 2, color: '#F9A857' }, // 橙色
|
|
],
|
|
},
|
|
/** 字母O */
|
|
{
|
|
id: 'letter-o-3x3-001',
|
|
name: '字母O',
|
|
category: 'geometric',
|
|
difficulty: 2,
|
|
supportSymmetry: true,
|
|
symmetryType: 'both',
|
|
isComplete: true,
|
|
cells: [
|
|
{ x: 0, y: 0, color: '#ED6D50' }, // 红色
|
|
{ x: 1, y: 0, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 0, color: '#ED6D50' }, // 红色
|
|
{ x: 0, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 1, color: '#F9A857' }, // 橙色
|
|
{ x: 0, y: 2, color: '#ED6D50' }, // 红色
|
|
{ x: 1, y: 2, color: '#F9A857' }, // 橙色
|
|
{ x: 2, y: 2, color: '#ED6D50' }, // 红色
|
|
],
|
|
},
|
|
];
|
|
|
|
/**
|
|
* 随机获取一个 3x3 形状
|
|
*/
|
|
export function getRandom3x3Shape(): ShapeTemplate {
|
|
const randomIndex = Math.floor(Math.random() * ALL_3X3_SHAPES.length);
|
|
return ALL_3X3_SHAPES[randomIndex];
|
|
}
|