2015年3月10日 星期二

大衍占卜輔助電腦程序



一,動機

其實之前會寫這個程式的本意是為了自修研讀易經時,常常得要詢查本卦及之卦等相関卦名,自覺如果有個小程式可配合,一定可方便許多.因而開始撰寫了第一個查卦的程式。之後在研讀金錢占卜的方法時,又發展了一個可直接將三個硬幣六次投擲的陰陽結果,按選輸入清單而查出本卦,綜卦,錯卦及爻變結果之卦的程式.這階段程式其實難度不高,只用到了函數設定(核心動作為擷取合併字元及查詢),縱使後來加入亂數函數成了可自動金錢占卜的程式,也還不用寫到VBA碼便可達成目的。

  一直到去年給賢小甥修安參考上述金錢占卜程式後,通訊之間自覺大衍占卜法手續較為複雜,光從文字研讀是有些艱澀,可再發展一電腦程式以自用。而大衍占卜的方法即為取五十支如筷子的竹籤(古人用的是蓍草),用其中四十九支以分二,掛一,揲四,歸奇的手續完成十八變而得六爻陰陽成數,如此便可得本卦及爻變後的之卦。(詳細內容可參考網路其他資料,恕不贅述!) 

  這一類的程式老早便有很多人完成,但多數為自動占卜及商業使用,跟本人發展程式的本意在於輔助易學之研讀不合.此外,個人覺得他人程式的核心處理是否按易學操作不得而知,且完全由程式亂數主導結果,稍欠靈動之機.因此本程式的原意是在每一變中以人為作分二手續後,由電腦由演繹,掛一,揲四,歸奇的過程,最後再套用回上述己完查卦系統,求得各相關卦名,至於自動占卜的功能只可算是----”副產品”,並非本程式的主要用途。

  今年二月初的一趟台北行,得知姻親朱家長輩亦在研究易學,道別之際曾言告自己有一拙作可供參考,待回高雄多日後利用空暇才將這個程式初版北傳.就在整理程式的同時,自覺程式本為自用,內容自當省略諸多說明;再者他人使用時,不比自己了解所投之自亂數確按古人大衍占卜原理,一爻所得之數須三變而得之,故須投入十八次獨立不同的亂數方得一卦.但電腦因操作速度過快,無法查視十八變的歷程,程式啓動就直接得到最後結果的方式對研究大衍占卜助益實為有限。

  所以本改寫後的一版,除多加一些說明註解外,最大的變動就是在程式的進行中加入暫停機制,調整資料捲動至對應範圍,讓每一變的左右首揲之以四的動作,皆能清楚的表現出來.之前六爻的陰陽成數得出後,須再到查卦工作表查卦,如今則直接鍵結及切換視窗得出本卦、之卦、綜卦、錯卦之成果。

二,主要大衍占卜查卦內容介紹

  1. 可配合實際蓍草(或竹籤 )占卜,將第一變中分二後的左手策數填入(右手策數自動算出)。
  2. 按灰色揲之以四的巨集按鍵後,便可得第一變的歸奇(策數)。
  3. 重複第二變的分二動作(此時程式早已把第一變歸奇後的策數扣除),如上述手續再將二變的左手策數填入格中,再按一次灰色揲之以四的巨集按鍵。
  4. 最後三變的所有操作之後,才得第一爻的陰陽成數。
  5. 重複2~6爻(共18變)操作後可得各爻陰陽及變爻(9為老陽,8為少陰,7為少陽,6為老陰;老陽須變陰,老陰須變陽,爻變之後的卦即為之卦)。
  6. 有了六爻陰陽成數後再到查卦的工作表按選各爻成數後,程式自動查出本卦,之卦,綜卦,錯卦的卦名及卦象。


程式主要外觀

二,自動占卜程式介紹

  1. 在本頁底設有一個自動占卜巨集按鍵,點按後便可自動占卜。
  2. 1~6爻的18變皆由程式亂數自行採得分二的策數。
  3. 各變階段設有暫停點,可讓使用者看清楚程式的運算及變化。
  4. 暫停後可按Enter鍵,繼續程式進行直到下個暫停點。
  5. 6爻得出陰陽成數後,程式視窗切換到查表工表,直接得本卦、之卦、錯卦及綜卦的卦名及卦象。


程式設有暫停訊息以看清楚運算過

每一爻都要經歷三變才得爻數

歷經18變才算占得一卦

程式可自動將6爻成數給定查卦工作表可得各相關卦名卦象
三,結語
  再次強調,本程式純粹為自修易經而作,若任何人熟諳64卦後實皆可快速推得各相關卦名卦象,無需利用本程式!
  且因本人能力有限,所以本程式只有查卦卜卦功能,並未有解卦的作用。

2 則留言:

  1. 蘇先生,您好,不好意思請教您,您設計的Excel巨集,是否開放使用呢?我個人近來自修研讀"九天學算卦"一書,易經內容博大精深,常有不懂之處,就Google找解答,因此看到您的Blog。冒昧留言,如有打擾,請多包涵。讀者:Richard Lee , Email: chaochenglee@gmail.com

    回覆刪除
  2. 蘇先生,您好,不好意思請教您,您設計的Excel巨集,是否開放本人使用呢?我個人近來自修研讀"劉君祖所著 易經密碼"一書,書內有提到其學生自行設計程式可快速演算「大衍之術」,就Google找電腦演算程式,因此看到您的Blog。冒昧留言,如有打擾,請多包涵。讀者 陳鈞 email:peter_cys@yahoo.com.tw
    謝謝您 祝 日安

    回覆刪除