Files
doodle-mini/miniprogram/service/findWordTemplate.ts
T
2025-11-20 17:35:37 +08:00

224 lines
8.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const POSITION_TEMPLATES: Array<Array<{ x: number; y: number }>> = [
// 模板1:椭圆形分布-上下更密集 28个位置,相邻间距约100-150px
[
// 0-14号位置
{ x: -600, y: 0 }, // 0 - 左侧
{ x: -440, y: -240 }, // 1
{ x: -580, y: -430 }, // 2
{ x: -340, y: -600 }, // 3
{ x: -330, y: -880 }, // 4
{ x: -560, y: -780 }, // 5
{ x: -50, y: -890 }, // 6
{ x: -80, y: -670 }, // 7 - 上方
{ x: 180, y: -880 }, // 8
{ x: 200, y: -620 }, // 9
{ x: 440, y: -850 }, // 10
{ x: 600, y: -620 }, // 11
{ x: 420, y: -460 }, // 12
{ x: 500, y: -220 }, // 13
{ x: 600, y: 0 }, // 14 - 右侧
// 15-28号位置:基于0-14号位置以x轴为镜像轴生成(y坐标取反,x坐标不变)
{ x: 600, y: 0 }, // 15 - 14的镜像
{ x: 500, y: 220 }, // 16 - 13的镜像
{ x: 420, y: 460 }, // 17 - 12的镜像
{ x: 600, y: 620 }, // 18 - 11的镜像
{ x: 440, y: 850 }, // 19 - 10的镜像
{ x: 200, y: 620 }, // 20 - 9的镜像
{ x: 180, y: 880 }, // 21 - 8的镜像
{ x: -80, y: 670 }, // 22 - 7的镜像
{ x: -50, y: 890 }, // 23 - 6的镜像
{ x: -560, y: 780 }, // 24 - 5的镜像
{ x: -330, y: 880 }, // 25 - 4的镜像
{ x: -340, y: 600 }, // 26 - 3的镜像
{ x: -580, y: 430 }, // 27 - 2的镜像
{ x: -440, y: 240 }, // 28 - 1的镜像
],
// 模板2:基于模板1,在上下各增加一个坐标系,并适度调整原始位置
[
{ x: -620, y: 0 }, // 0 - 左侧(向外扩展)
{ x: -420, y: -200 }, // 1
{ x: -640, y: -350 }, // 2
{ x: -400, y: -480 }, // 3
{ x: -600, y: -600 }, // 4
{ x: -420, y: -740 }, // 5
{ x: -280, y: -910 }, // 6
{ x: -200, y: -680 }, // 7
{ x: -60, y: -890 }, // 8
{ x: -10, y: -660 }, // 9 - 上方
{ x: 180, y: -890 }, // 10
{ x: 200, y: -630 }, // 11
{ x: 400, y: -800 }, // 12
{ x: 590, y: -660 }, // 13
{ x: 410, y: -440 }, // 14
{ x: 680, y: -420 }, // 15
{ x: 570, y: -210 }, // 16
{ x: 670, y: 0 }, // 17 - 右侧
// 18-35号位置:基于0-17号位置以x轴为镜像轴生成(y坐标取反,x坐标不变)
{ x: 570, y: 210 }, // 18 - 16的镜像
{ x: 680, y: 420 }, // 19 - 15的镜像
{ x: 410, y: 440 }, // 20 - 14的镜像
{ x: 590, y: 660 }, // 21 - 13的镜像
{ x: 400, y: 800 }, // 22 - 12的镜像
{ x: 200, y: 630 }, // 23 - 11的镜像
{ x: 180, y: 890 }, // 24 - 10的镜像
{ x: -10, y: 660 }, // 25 - 9的镜像
{ x: -60, y: 890 }, // 26 - 8的镜像
{ x: -200, y: 680 }, // 27 - 7的镜像
{ x: -300, y: 930 }, // 28 - 6的镜像
{ x: -440, y: 780 }, // 29 - 5的镜像
{ x: -600, y: 600 }, // 30 - 4的镜像
{ x: -400, y: 480 }, // 31 - 3的镜像
{ x: -640, y: 350 }, // 32 - 2的镜像
{ x: -420, y: 200 }, // 33 - 1的镜像
],
// 模板3
[
// 0-15号位置
{ x: -660, y: -100 }, // 0 - 左侧
{ x: -500, y: -280 }, // 1
{ x: -660, y: -480 }, // 2
{ x: -660, y: -720 }, // 3
{ x: -440, y: -920 }, // 4
{ x: -250, y: -720 }, // 5
{ x: -380, y: -480 }, // 6 - 上方
{ x: -140, y: -480 }, // 7
{ x: 90, y: -480 }, // 8
{ x: 340, y: -480 }, // 9
{ x: 250, y: -720 }, // 10
{ x: 440, y: -920 }, // 11
{ x: 660, y: -720 }, // 12
{ x: 660, y: -480 }, // 13
{ x: 500, y: -280 }, // 14
{ x: 660, y: -100 }, // 15 - 右侧
// 16-32号位置:基于0-15号位置以x轴为镜像轴生成(y坐标取反,x坐标不变)
{ x: 660, y: 120 }, // 16 - 15的镜像
{ x: 500, y: 300 }, // 17 - 14的镜像
{ x: 680, y: 480 }, // 18 - 13的镜像
{ x: 680, y: 720 }, // 19 - 12的镜像
{ x: 500, y: 920 }, // 20 - 11的镜像
{ x: 250, y: 720 }, // 21 - 10的镜像
{ x: 340, y: 480 }, // 22 - 9的镜像
{ x: 90, y: 480 }, // 23 - 8的镜像
{ x: -140, y: 480 }, // 24 - 7的镜像
{ x: -380, y: 480 }, // 25 - 6的镜像
{ x: -250, y: 720 }, // 26 - 5的镜像
{ x: -500, y: 920 }, // 27 - 4的镜像
{ x: -660, y: 720 }, // 28 - 3的镜像
{ x: -680, y: 480 }, // 29 - 2的镜像
{ x: -500, y: 300 }, // 30 - 1的镜像
{ x: -660, y: 120 }, // 31 - 0的镜像
],
// 模板4:三角形和梯形
[
// 0-5号位置
{ x: -350, y: 0 }, // 0 - 顶点(不变)
{ x: -500, y: 150 }, // 1 - 左侧上方45度
{ x: -650, y: 300 }, // 2 - 左侧上方45度(更远)
{ x: -500, y: -150 }, // 3 - 左侧下方45度
{ x: -650, y: -300 }, // 4 - 左侧下方45度(更远)
{ x: -650, y: 0 }, // 5 - Y=0X和2、4相同
// 6-11号位置
{ x: 350, y: 0 }, // 6 - 顶点(不变)
{ x: 500, y: 150 }, // 7 - 右侧上方45度
{ x: 650, y: 300 }, // 8 - 右侧上方45度(更远)
{ x: 500, y: -150 }, // 9 - 右侧下方45度
{ x: 650, y: -300 }, // 10 - 右侧下方45度(更远)
{ x: 650, y: 0 }, // 11 - Y=0X和8、10相同
// 倒着的梯形
{ x: -440, y: -790 }, // 12
{ x: -320, y: -570 }, // 13
{ x: -200, y: -350 }, // 14
{ x: 0, y: -350 }, // 15
{ x: 200, y: -350 }, // 16
{ x: 320, y: -570 }, // 17
{ x: 440, y: -790 }, // 18
{ x: -150, y: -790 }, // 19
{ x: 150, y: -790 }, // 20
// 正着的梯形
{ x: -440, y: 790 }, // 21
{ x: -320, y: 570 }, // 22
{ x: -200, y: 350 }, // 23
{ x: 0, y: 350 }, // 24
{ x: 200, y: 350 }, // 25
{ x: 320, y: 570 }, // 26
{ x: 440, y: 790 }, // 27
{ x: 150, y: 790 }, // 28
{ x: -150, y: 790 }, // 29
],
// 模板54个正方形
[
// 0-7号位置
{ x: -250, y: -250 }, // 0
{ x: -250, y: -500 }, // 1
{ x: -250, y: -750 }, // 2
{ x: -500, y: -750 }, // 3
{ x: -750, y: -750 }, // 4
{ x: -750, y: -500 }, // 5
{ x: -750, y: -250 }, // 6
{ x: -500, y: -250 }, // 7
// 8-15号位置
{ x: 250, y: -250 }, // 8
{ x: 250, y: -500 }, // 9
{ x: 250, y: -750 }, // 10
{ x: 500, y: -750 }, // 11
{ x: 750, y: -750 }, // 12
{ x: 750, y: -500 }, // 13
{ x: 750, y: -250 }, // 14
{ x: 500, y: -250 }, // 15
// 16-23号位置
{ x: -250, y: 250 }, // 16
{ x: -250, y: 500 }, // 17
{ x: -250, y: 750 }, // 18
{ x: -500, y: 750 }, // 19
{ x: -750, y: 750 }, // 20
{ x: -750, y: 500 }, // 21
{ x: -750, y: 250 }, // 22
{ x: -500, y: 250 }, // 23
// 24-31号位置
{ x: 250, y: 250 }, // 24
{ x: 250, y: 500 }, // 25
{ x: 250, y: 750 }, // 26
{ x: 500, y: 750 }, // 27
{ x: 750, y: 750 }, // 28
{ x: 750, y: 500 }, // 29
{ x: 750, y: 250 }, // 30
{ x: 500, y: 250 }, // 31
],
// 模板64个十字形
[
// 0-4号位置
{ x: -500, y: -500 }, // 0
{ x: -250, y: -500 }, // 1
{ x: -500, y: -750 }, // 2
{ x: -750, y: -500 }, // 3
{ x: -500, y: -250 }, // 4
// 5-9号位置
{ x: 500, y: -500 }, // 5
{ x: 250, y: -500 }, // 6
{ x: 500, y: -750 }, // 7
{ x: 750, y: -500 }, // 8
{ x: 500, y: -250 }, // 9
// 10-14号位置
{ x: -500, y: 500 }, // 10
{ x: -250, y: 500 }, // 11
{ x: -500, y: 750 }, // 12
{ x: -750, y: 500 }, // 13
{ x: -500, y: 250 }, // 14
// 15-19号位置
{ x: 500, y: 500 }, // 15
{ x: 250, y: 500 }, // 16
{ x: 500, y: 750 }, // 17
{ x: 750, y: 500 }, // 18
{ x: 500, y: 250 }, // 19
],
];