likes
comments
collection
share

关于中国数术的JS第三方库

作者站长头像
站长
· 阅读数 16

当运用程序来处理命理、占卜等相关事务时,我们需要使用一些特定的工具和库。其中一个有趣且实用的库就是 fortel-codex。本文将向您介绍如何安装和使用这个库,以及如何处理其中的各种概念和功能。

安装

首先,我们需要通过 npm 进行安装:

$ npm install --save fortel-codex

基本概念

陰陽 (MoonSun)

在命理学中,"陰" 和 "陽" 是两个重要的概念。在 fortel-codex 中,我们可以使用 MoonSun 对象来表示它们。

const fortelCodex = require('fortel-codex');
const MoonSun = fortelCodex.MoonSun;

var moon = MoonSun.get('陰');
moon = MoonSun.Moon; // 也可以这样获取
console.log('陰:', moon);

var sun = MoonSun.get('陽');
sun = MoonSun.Sun; // 也可以这样获取
console.log('陽:', sun);

五行 (Element)

另一个重要的概念是 "五行",即金、木、水、火、土。fortel-codex 提供了 Element 对象来表示五行。

const Element = fortelCodex.Element;

/* 获取基本五行对象 */
var gold = Element.Gold;
gold = Element.get('金'); // 也可以这样获取
console.log('金: ', gold);

var wood = Element.Wood;
wood = Element.get('木'); // 也可以这样获取
console.log('木: ', wood);

var earth = Element.Earth;
earth = Element.get('土'); // 也可以这样获取
console.log('土: ', earth);

var water = Element.Water;
water = Element.get('水'); // 也可以这样获取
console.log('水: ', water);

var fire = Element.Fire;
fire = Element.get('火'); // 也可以这样获取
console.log('火: ', fire);

天干 (Stem)

在命理学中,"天干" 是一个重要的概念,代表着十个符号。fortel-codex 提供了 Stem 对象来表示天干。

const fortelCodex = require('fortel-codex');
const Stem = fortelCodex.Stem;

/* 获取所有天干对象 */
var items = Stem.items; // 这是一个包含所有天干对象的数组
var output = "";
for(let item of items){
    output += item.displayName;
}
console.log(output);

/* 根据索引获取天干对象 */
console.log('0: '+util.inspect(Stem.get(0)));
console.log('1: '+util.inspect(Stem.get(1)));
console.log('......\n');

/* 根据名称获取天干对象 */
console.log('0: '+util.inspect(Stem.get('甲')));
console.log('1: '+util.inspect(Stem.get('乙')));
console.log('......\n');

/* 天干合化 */
console.log('甲己合化' + Stem.get('甲').getSythesisResult(Stem.get('己')).displayName);
console.log('乙庚合化' + Stem.get('乙').getSythesisResult(Stem.get('庚')).displayName);
// ... 其他合化组合

/* 天干相剋 */
console.log('甲剋' + Stem.get('甲').getSuppress().displayName);
console.log('戊被' + Stem.get('戊').getSuppressedBy().displayName + '所剋');
// ... 其他相剋关系

地支 (Branch)

"地支" 表示十二个符号,与生肖有关。fortel-codex 提供了 Branch 对象来表示地支。

const fortelCodex = require('fortel-codex');
const Branch = fortelCodex.Branch;

/* 获取所有地支对象 */
var items = Branch.items; // 这是一个包含所有地支对象的数组
console.log(items.map(item=>item.displayName).join(', '));

/* 根据索引获取地支对象 */
console.log('0: '+util.inspect(Branch.get(0)));
console.log('1: '+util.inspect(Branch.get(1)));
console.log('......\n');

/* 根据名称获取地支对象 */
console.log('0: '+util.inspect(Branch.get('子')));
console.log('1: '+util.inspect(Branch.get('丑')));
console.log('......\n');

/* 地支六合局 */
let combinations = Branch.checkCombinations([Branch.get('子'), Branch.get('丑')]);
console.log("子丑合化"+combinations.sixSythesis[0].element.displayName);

// ... 其他六合组合

/* 地支三合局 */
combinations = Branch.checkCombinations([Branch.get('申'), Branch.get('子'), Branch.get('辰')]);
console.log("申子辰三合"+combinations.threeSythesis[0].combination.element.displayName+"局");

// ... 其他三合组合

/* 地支相沖 */
console.log(Branch.checkOpposite(Branch.get('子'), Branch.get('午')));
console.log(Branch.checkOpposite(Branch.get('子'), Branch.get('亥')));
// ... 其他相沖关系

/* 地支相刑 */
let combinations = Branch.checkCombinations([Branch.get('寅'), Branch.get('巳'), Branch.get('申')]);
console.log(combinations.punishment[0].type);

combinations = Branch.checkCombinations([Branch.get('午'), Branch.get('午')]);
console.log(combinations.punishment[0].type);
// ... 其他相刑关系

/* 地支相害 */
console.log(Branch.checkHarm(Branch.get('子'), Branch.get('未')));
console.log(Branch.checkHarm(Branch.get('子'), Branch.get('丑')));
// ... 其他相害关系

时辰 (BranchHour)

在命理学中,时辰也是一个重要的概念。fortel-codex 提供了 BranchHour 对象来表示时辰。

const fortelCodex = require('fortel-codex');
const BranchHour = fortelCodex.BranchHour;

var items = BranchHour.items; // 这是一个包含所有时辰对象的数组
console.log(items.map(item=>item.displayName).join(', '));

生肖 (Zodiac)

最后,生肖也是命理学中的一个重要概念,表示十二种动物符号。fortel-codex 提供了 Zodiac 对象来表示生肖。

const fortelCodex = require('fortel-codex');
const Zodiac = fortelCodex.Zodiac;

var items = Zodiac.items; // 这是一个包含所有生肖对象的数组
console.log(items.map(item=>item.displayName).join(', '));

总结

通过使用 fortel-codex 这个库,我们可以轻松地处理命理学中涉及的陰陽、五行、天干、地支、时辰和生肖等各种概念。您可以根据您的需求,使用这些对象来进行分析、计算和判断。无论是对于专业的命理学研究还是日常的娱乐,这个库都能为您提供便捷和有趣的工具。