export const definitions = [ {id:'relative',title:'相对步差',geometry:'square',rule:'每格一次。A → B +d:B 的步号减去 A 的步号等于 d;+4 是四次移动,中间有三格。',goals:['认识差值与中间格数量','用间隔排除直达路线','两端绝对步号都未知','两条独立关系共同选路','共享端点的关系联动','间隔决定先处理哪个区域','三条关系跨区联动','无固定起点,联合推断关系位置']}, {id:'order',title:'先后链',geometry:'square',rule:'每格一次。链中的标记必须依次访问,例如 A < B < C;相隔几步不受限制。',goals:['A 必须先于 B','靠近 B 也要先绕到 A','三标记决定区域顺序','两条独立先后关系','共享标记形成部分顺序','访问标记时保留后续出口','两条链交错安排','无固定起点,由次序确定全路']}, {id:'window',title:'到达窗口',geometry:'square',rule:'每格一次。写着 a–b 的格必须在第 a 到第 b 步之间到达,包含两个边界。',goals:['认识允许范围','排除过早到达','窗口迫使先绕行','两个窗口限制早到与晚到','宽窗口与跨区顺序联动','重叠窗口决定访问次序','三个窗口分配路线区间','无固定起点,由窗口确定路线']}, {id:'direction',title:'直行/转弯',geometry:'square',rule:'每格一次。↔ 格必须直行,↱ 格必须转 90°;这些格不能是起终点,到离开时再检查方向。',goals:['直行格决定出口','转弯格排除直行','两个直行格联动','直行与转弯共同选路','方向要求迫使绕行','方向决定区域入口出口','多个方向跨区联动','无固定起点,方向确定两端']}, {id:'block-alternation',title:'大格交替',geometry:'blocks',rule:'整块只算一步,每块一次。相邻两步必须交替访问 ○ 和 △;共边同类也不能走。',goals:['认识交替、整块一步','大格旁同类相邻但不能走','类别数量决定端点类别','大格出口由类别筛选','异形凹口与交替联动','跨区保留异类出口','多个大格异形分配路线','无固定起点,由类别确定两端']}, {id:'hex-alternation',title:'六边交替',geometry:'hex',rule:'每个六边形一步,每格一次。六向共边相邻,但下一步必须换类别:○ 与 △ 交替。',goals:['六向邻接中的异类选择','三角邻接的同类边被排除','类别数量限制端点','空洞附近选择异类格','局部类别决定跨区顺序','连续分叉中保留出口','三个区域类别出口联动','无固定起点,由类别确定全路']}, {id:'gates',title:'路径开门',geometry:'square',rule:'每格一次。门初始关闭,走到编号对应的开关后永久打开;撤销会恢复门的状态。',goals:['先踩开关再过门','绕行到开关','开门后不能立刻穿过去','两对独立门与开关','第一门后才能到第二开关','开关顺序与区域收尾','三对门形成依赖链','两条开门依赖交织']} ]; export const difficulties=['入门','普通','进阶','难'];