# yiyd ![lang: haskell](https://img.shields.io/badge/lang-haskell-brightgreen.svg) [![Hackage](https://img.shields.io/hackage/v/yiyd.svg)](https://hackage.haskell.org/package/yiyd) ![Gitlab pipeline status (master)](https://img.shields.io/gitlab/pipeline/Vonfry/yiyd/master.svg) ![Gitlab pipeline status (develop)](https://img.shields.io/gitlab/pipeline/Vonfry/yiyd/develop.svg) This project's whole name is __Zhou Yi Yarrow divination__. Its a Chinese traditional divination with _zhouyi_. So I'll write other document with Chinese instead of other language. I think it's so hard to describe them without chinese. 本项目实现在命令行下通过随机数的方式,按蓍草占卜流程生成爻。相比人工使用50根蓍草要来得方便多。但是如果可能,还是推荐通过蓍草或是木棒等物品进行占卜。这个过程可以对易有更多的了解。特别是每一步中的含意。同时,也能放空内心。 关于蓍草占卜流程,请通过源代码或其它方式了解。本人目前不想在文档中多写。 本项目仍开发中,什么时候会完成本人也不知道,说不定永远写不完呢。 # 功能(Function) 按蓍草占卜法,配合周易,生成结果。 # 安装(Install) Some ways are supported to install this package. - hackage - source ## Source ### clone 1. clone 2. build 3. (optional) install ### build This project use Nix and cabal as the default building system, so you can use one of them to build this project. There are some build ### # 使用(Usage) | 参数 | 说明 | | --- | --- | | `—-quiet`, `-q` | 仅显示结果 | | `--yao`, `-y` | 在`quiet`下,结果追加爻辞 | 注:如果想要保存至文件或什么,请使用重定向 # 说明(docs) dot文件为graphviz语法,可用对应命令生成图片。 所有图片为简图,可能不太好理解。 - [一爻生成过程](./docs/一爻.dot) # TODO See: [todo](./todo.org) # 蓍草 先用两手将参与演卦的四十九根蓍草茎任意一分为二,其中左手一份象“天”,右手一份象“地”。接着,从右手任取一根蓍草茎,置于左手小指间,用以象“人”。这样就形成天、地、人“三才”的格局。然后,以四根为一组,先用右手分数左手中的蓍草茎,再以左手分数右手中的蓍草茎。一组一组地分数完后,两手中的蓍草茎余数必有一定规律:左余一,则右余三;左余两,则右亦余两;左余三,则右余一;左余四,则右亦余四。这时,将左手所余蓍草茎置于左手中指与无名指间,右手所余蓍草茎置于左手食指与中指间。这样,左手指缝间的蓍草茎余数(包括一开始置于无名指与小指间象征“人”的那一根)非五即九,故去除余数后的蓍草茎数必为四十四或四十。到此为止,完成了蓍草演算的第一步,古称“第一变”。 “一变”之后,去除左手指缝间的余数,又将两手所持的四十四或四十根蓍草茎按“一变”的同样方法和顺序进行演算,即先将四十四或四十根蓍草茎合在一起,然后任意一分为二,并从右手中取出一根蓍草茎置于左手无名指与小指间,再用右手四四一组分数左手中的蓍草茎,然后用左手分数右手中的蓍草茎……。“二变”的结果,左余一右必余两,左余两右必余一,左余三右必余四,左余四右必余三,故两手余数之和非四即八,而两手所持蓍草总数或四十或三十六或三十二。 如法炮制,“三变”的结果,两手所持的蓍草茎总数或三十六,或三十二,或二十八,或二十四。然后以四相除,一爻的商数便显现出来: 36÷4=9 32÷4=8 28÷4=7 24÷4=6 根据奇数为阳,偶数为阴的原则,如果商数是“9”则是老阳之数即得阳爻“”;如果商数是“8”则是少阴之数即得阴爻“”;如果商数是“7”则是少阳之数即得阳爻“”;如果商数是“6”则是老阴之数即得阴爻“”。这样,经过三次演变,终于得到一个爻。一个卦共有六个爻,所以总共需要经过十八次的演算变化,将每爻按照从下到上的顺序排列,才能得到一个卦。但是,“三变”之后得到一个爻,有时还要发生变化,即“变爻”。这就是:当商数为“9”或为“6”而成老阳或老阴,根据物极必反的规律,老阳变为阴爻,老阴变为阳爻,这样就会得到另一卦,称之为“之卦”。未变爻的原卦称为“本卦”。如果没有“变爻”出现,即六个爻的商数中没有“9”和“6”,那么就没有“之卦”。 这样,推演过程就全部结束,得到一个六爻“本卦”或加上一个“之卦”。以上介绍的这种占筮取卦方法即为后人所称“文王卦”或“六爻大课”。 然后,根据相应的推论规则对推演所成的卦进行推论(推理解释)。