#?debug: "list_variable=1, show_failure=1, trace_rank=[1.1.1]" ?option: "wrap=1, year_offset=-9:0" =$难星: {$难宫} =$仇星: {$仇宫} =$恩星: {$恩宫} =$用星: {$用宫} # 命盘 {?t}: {(&iter($七政, "{&星力([])}"), $e)}\ {$s}立命{@命[0]}宫{%命}度,安身{@身[0]}宫{$命身歧}。{$难星}为难,{$仇星}为仇,{$恩星}为恩,{$用星}为用。 {$s&if( \ "{(%命[1]=@命[1] & %命[1]=@身[1])}", "{&力解(%命[1], {命度、命宫、身宫主%命[1]})}", \ "{(%命[1]=@命[1])}", "{&力解(%命[1], {命度、命宫主%命[1]}) &力解(@身[1], {身宫主@身[1]})}", \ "{(%命[1]=@身[1])}", "{&力解(%命[1], {命度、身宫主%命[1]}) &力解(@命[1], {命宫主@命[1]})}", \ "{(@命[1]=@身[1])}", "{&力解(%命[1], {命度主%命[1]}) &力解(@命[1], {身命宫主@命[1]})}", \ "{&力解(%命[1], {命度主%命[1]}) &力解(@命[1], {命宫主@命[1]}) &力解(@身[1], {身宫主@身[1]})}" \ )} {&if(@命=@身, "{$s&命坐(身命)}", "{$s&命坐(命)$n$s$身宫神煞}")} {&宫解(福德)} {&宫解(财帛)} {&宫解(官禄)} {&宫解(田宅)} {&宫解(夫妻)} {&宫解(男女)} $ # user defined functions =&升殿: {&if(?[a]殿, "{([a]力解+<升殿, [a]力+=1)}")} =&失躔: {&if(?[a]失躔, "{([a]力解+<失躔, [a]力-=1)}")} =&入垣: {&if(?[a]垣, "{([a]力解+<入垣, [a]力+=1)}")} =&失垣: {&if(?[a]失垣, "{([a]力解+<失垣, [a]力-=1)}")} =&季星: {&if([a]=$季星, "{([a]力解+<为季星, [a]力+=1)}")} =&化星: {&if(??[a]化, "{化{$[a]化}}")} =&星力: {(&升殿([a]), &失躔([a]), &入垣([a]), &失垣([a]), &季星([a]), \ &生克星同度([a]), &生克星同宫([a]), &生克星对宫([a]), &生克星拱宫([a]), \ &if(??[a]力, "$[a]力", 0))} =&力解: {&if(??[a]力解, "{[b],{$[a]力解}。}")} =&化星照: {&if(*[a]宫星, {{&iter($[a]宫星, "{$难恩[]&化星([])}")}照[a]。})} =&神煞临: {&if(*[a]宫神|*[a]宫煞, {{$[a]宫神}&if(*[a]宫神&*[a]宫煞, ,){$[a]宫煞}入宫。})} =&宫解: {$s{[a]宫{&神煞临([a])}{&if(*[a]宫星, "{&化星照([a])}")}}} =$命身歧: {&if("?命宫歧&?命宿歧", ,命坐宫歧、宿歧, "?命宫歧", ,命坐宫歧, "?命宿歧", ,命坐宿歧) \ &if(?身宫歧, "&if(?命宫歧&?命宿歧, ,身坐宫歧, 身坐宫歧)")} =&生克星: {&prefix(&prefix([a], $[b]生星, 生星), $[b]克星, 克星)} =&{生, 克}星同宫: {&intersection(${{@[a][0]}宫星}, $[a]{}星)} =&{生, 克}星同度: {&intersection(${{%[a][0]}度星}, $[a]{}星)} =&{生, 克}星对宫: {&intersection(${{(@[a]+6)[0]}宫星}, $[a]{}星)} =&{生, 克}星拱宫: {&intersection(&union(${{(@[a]+4)[0]}宫星}, ${{(@[a]-4)[0]}宫星}), $[a]{}星)} =&生克星同宫: {(_a<<&生星同宫([a]), _b<<&克星同宫([a]), &if(*_a | *_b, \ "{([a]力解+<{&宫度始([a])&if(*_a, {生星$_a})&if(*_b, {克星$_b})同宫}, [a]力+=&size($_a) - &size($_b))}"))} =&生克星同度: {(_a<<&生星同度([a]), _b<<&克星同度([a]), &if(*_a | *_b, \ "{([a]力解+<{&宫度始([a])&if(*_a, {生星$_a})&if(*_b, {克星$_b})同度}, [a]力+=&size($_a) - &size($_b))}"))} =&生克星对宫: {(_a<<&生星对宫([a]), _b<<&克星对宫([a]), &if(*_a | *_b, \ "{([a]力解+<{&if(*_a, {生星$_a})&if(*_b, {克星$_b})对照}, [a]力+=0.7 * (&size($_a) - &size($_b)))}"))} =&生克星拱宫: {(_a<<&生星拱宫([a]), _b<<&克星拱宫([a]), &if(*_a | *_b, \ "{([a]力解+<{&if(*_a, {生星$_a})&if(*_b, {克星$_b})拱照}, [a]力+=0.3 * (&size($_a) - &size($_b)))}"))} =&宫度始: {&if(!??[a]宫度始, "{([a]宫度始<<1, 与)}")} =&命坐: {&if(*命坐地, "{[a]坐{$命坐地},}"){[a]宫&神煞临(命)}{&if(*命宫星, "{$化星守命}")}} # aliases =$七政: {&set(日, 月, 金, 木, 水, 火, 土)} =$四余: {&set(计, 罗, 炁, 孛)} =$政余: {&union($七政, $四余)} =${日, 月, 金, 木, 水, 火, 土, 计, 罗, 炁, 孛}带神煞: \ {&eval(&contain($宫位, {})[0], 宫神煞)} =$难恩{日, 月, 金, 木, 水, 火, 土, 计, 罗, 炁, 孛}: \ {&prefix(&prefix({}, $难星, 难), $恩星, 恩)} =$难仇恩用{日, 月, 金, 木, 水, 火, 土}: \ {&import(难仇恩用{})} =${日, 月, 金, 木, 水, 火, 土}克星: \ {&split(&entry(${难仇恩用{}}, 0), 1)} =${日, 月, 金, 木, 水, 火, 土}生星: \ {&split(&entry(${难仇恩用{}}, 2), 1)} =${计, 罗, 炁, 孛}克星: \ {$e} =${计, 罗, 炁, 孛}生星: \ {$e} =$季节星: {&set(木炁, 火罗, 金, 水孛)} =$季星: {&split(&entry($季节星, $季节), 1)} =$身命: {&if(@命=@身, 身命, 命)} =${命, 身, 财帛, 兄弟, 田宅, 男女, 奴仆, 夫妻, 疾厄, 迁移, 官禄, 福德, 相貌}宫星: \ {${{@{}[0]}宫星}} =$化星守命: {&if(*命宫星, {{&iter($命宫星, "{$难恩[]&化星([])}")}守{$身命}。})} =$化星临身: {&if(*身宫星, {{&iter($身宫星, "{$难恩[]&化星([])}")}临身。})} =${命, 身, 财帛, 兄弟, 田宅, 男女, 奴仆, 夫妻, 疾厄, 迁移, 官禄, 福德, 相貌}宫神: \ {&intersection(${{@{}[0]}宫神煞}, $吉神, 4)} =${命, 身, 财帛, 兄弟, 田宅, 男女, 奴仆, 夫妻, 疾厄, 迁移, 官禄, 福德, 相貌}宫煞: \ {&intersection(${{@{}[0]}宫神煞}, $凶煞, 4)} =$身宫神煞: {{&if(*身坐地, "{身坐{$身坐地},}")身宫坐${{@身[0]}宫},&神煞临(身)}{&if(*身宫星, "{$化星临身}")}} =${命, 身}坐地: {&map(&intersection(${{@{}[0]}宫神煞}, $长生), 注)} =$长生: {&set(长生, 绝, 死, 病, 帝旺, 临官, 沐浴)} =${绝, 死, 病, 帝旺=旺}注: \ {}地 =$吉神: {&set(红鸾, 禄勋, 唐符, 咸池, 天贵, 斗杓, 喜神, 文昌, 卦气, 玉贵, \ 天喜, 国印, 驿马, 紫微, 天德)} =$凶煞: {&set(病符, 寡宿, 劫杀, 绞杀, 飞刃, 天狗, 阳刃, 阴刃, 天耗, 剑锋, \ 孤辰, 孤虚, 飞廉, 天雄, 大耗, 小耗, 阑干, 血刃, 空亡, 的杀)} =$流吉神: {&set(天喜, 红鸾, 驿马, 天厨, 咸池, 禄勋, 天德, 天贵, 地解, 解神)} =$流凶煞: {&set(岁驾, 天空, 地雌, 贯索, 五鬼, 死符, 大耗, 小耗, 阳刃, 阴刃, 天厄, \ 天雄, 大杀, 卷舌, 天狗, 蓦越, 亡神, 披头, 血刃, 天哭, 劫杀, \ 的杀, 黄幡, 豹尾, 三刑, 六害)} # # rules with '^' are dynamic, they are reset after each year # # 流年盘 {?t}:^ {$流年}年{$流岁}岁, 流年{$流年柱}, 小限在{$小限}, 限行{$限宫}宫{$限度}度: {$s2{$小限宫名}{$难恩宫}{$限煞入宫}。} {$行限度} $ =$行限度:^ {&iter($限度, "{&行限度([])}", $e)} =&行限度:^ {(&iter($政余, "{&同限度([], [a])}"), &iter($政余, "{&冲限度([], [a])}"), \ &iter($政余, "{&刑限度([], [a])}"), &iter($政余, "{&合限度([], [a])}"), \ &限度解([a]), &if(??[a]度解, "{{$s2}限行{[a]}度,{$[a]度解}。$n}"))} =&同限度:^ {&if([b]=%[a], "([b]同限解+<{&生克星([a], [b][1])})")} =&冲限度:^ {&if(&offset($限度度, $[a]度, 180, 6 + $限度角距), "([b]冲限解+<{&生克星([a], [b][1])})")} =&刑限度:^ {&if(&offset($限度度, $[a]度, 90, 3 + $限度角距), "([b]刑限解+<{&生克星([a], [b][1])})")} =&合限度:^ {&if(&offset($限度度, $[a]度, 120, 4 + $限度角距), "([b]合限解+<{&生克星([a], [b][1])})")} =&限度解:^ {(&if(??[a]同限解, "([a]度解+<{{$[a]同限解}同躔})"), \ &if(??[a]冲限解, "([a]度解+<{{$[a]冲限解}冲})"), \ &if(??[a]刑限解, "([a]度解+<{{$[a]刑限解}刑})"), \ &if(??[a]合限解, "([a]度解+<{{$[a]合限解}合})"))} # 流年 aliases =$小限宫名:^ {&if(&empty(&contain($小限宫, 宫)), {{$小限宫}宫}, $小限宫)} =$小限宫:^ {${${小限}宫}} =$小限神煞:^ {${流${小限}宫神煞}} =$限神:^ {&intersection($小限神煞, $流吉神, 4)} =$限煞:^ {&intersection($小限神煞, $流凶煞, 4)} =$限煞入宫:^ {&if(*限煞|*限神, {{&if(*限神, {流年吉神{$限神}})}{&if(*限煞&*限神, ,)}{&if(*限煞, {流年凶煞{$限煞}入宫})}})} =$难恩宫:^ {&if("@{$小限宫}[1]=$难星", 为难宫,, "@{$小限宫}[1]=$恩星", 为恩宫,)}