六爻观测法的应用范畴,可结合传统典籍体系与当代社会实际需求进行系统梳理。其核心聚焦于“人生关键领域”,既承袭《黄金策》《增删卜易》中“分类占断”的经典思路,又融合现代生活中的具体情境。以下为整合后的分类归纳(涵盖传统场景与现代拓展),并附各情境下的主要用神逻辑,呼应高阶卦理的实际运用:
核心用神:官鬼、父母、兄弟、子孙
#include <iostream>
#include <vector>
#include <random>
#include <string>
#include <algorithm>
using namespace std;
// 1. 核心枚举定义(六爻基础元素)
// 爻的类型(少阴/少阳为静爻,老阴/老阳为动爻)
enum class YaoType { ShaoYang, ShaoYin, LaoYang, LaoYin };
// 爻位(从下到上:初爻→上爻)
enum class YaoPosition { Chu, Er, San, Si, Wu, Shang };
// 五行(生克关系核心)
enum class WuXing { Mu, Huo, Tu, Jin, Shui };
// 2. 爻结构体(单个爻的完整信息)
struct Yao {
YaoType type; // 爻型(少阴/少阳/老阳/老阴)
YaoPosition pos; // 爻位(初→上)
bool isDongYao; // 是否为动爻
char originalSymbol; // 本卦爻符号(—阳 / --阴)
char changedSymbol; // 变卦爻符号(动爻变化后)
// 构造函数:根据爻型初始化所有属性
Yao(YaoType t, YaoPosition p) : type(t), pos(p) {
isDongYao = (t == YaoType::LaoYang || t == YaoType::LaoYin);
// 本卦符号
if (t == YaoType::ShaoYang || t == YaoType::LaoYang) {
originalSymbol = '—';
} else {
originalSymbol = '-'; // 显示时处理为"--"
}
// 变卦符号(动爻反转,静爻不变)
if (t == YaoType::LaoYang) {
changedSymbol = '-'; // 老阳变阴
} else if (t == YaoType::LaoYin) {
changedSymbol = '—'; // 老阴变阳
} else {
changedSymbol = originalSymbol; // 静爻不变
}
}
};
// 3. 卦类(管理本卦、变卦、世应、用神等核心信息)
class LiuYaoGua {
private:
vector<Yao> benGua; // 本卦(原始摇出的卦)
vector<Yao> bianGua; // 变卦(动爻变化后的卦)
YaoPosition shiYao; // 世爻(求测者)
YaoPosition yingYao; // 应爻(目标/他人)
string yongShen; // 用神(如"官鬼"="求职机会")
string scenario; // 占测场景(如"求职")
vector<int> dongYaoIdx;// 动爻索引(0=初爻,5=上爻)
// 随机生成单个爻(符合铜钱摇卦概率:少阳3/8、少阴3/8、老阳1/8、老阴1/8)
YaoType randomYaoType() {
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<> dis(0, 7); // 0-7共8种情况
int randNum = dis(gen);
if (randNum >= 0 && randNum <= 2) return YaoType::ShaoYang; // 3/8
else if (randNum >= 3 && randNum <= 5) return YaoType::ShaoYin; // 3/8
else if (randNum == 6) return YaoType::LaoYang; // 1/8
else return YaoType::LaoYin; // 1/8(randNum=7)
}
// 五行生克判断(返回:a对b的作用关系,1=生,-1=克,0=无生克)
int wuXingRelation(WuXing a, WuXing b) {
// 生:木→火→土→金→水→木
if ((a == WuXing::Mu && b == WuXing::Huo) ||
(a == WuXing::Huo && b == WuXing::Tu) ||
(a == WuXing::Tu && b == WuXing::Jin) ||
(a == WuXing::Jin && b == WuXing::Shui) ||
(a == WuXing::Shui && b == WuXing::Mu)) {
return 1; // a生b
}
// 克:木→土→水→火→金→木
else if ((a == WuXing::Mu && b == WuXing::Tu) ||
(a == WuXing::Tu && b == WuXing::Shui) ||
(a == WuXing::Shui && b == WuXing::Huo) ||
(a == WuXing::Huo && b == WuXing::Jin) ||
(a == WuXing::Jin && b == WuXing::Mu)) {
return -1; // a克b
}
return 0; // 无生克(比劫)
}
// 爻位转字符串(用于显示)
string posToString(YaoPosition pos) {
switch (pos) {
case YaoPosition::Chu: return "初爻";
case YaoPosition::Er: return "二爻";
case YaoPosition::San: return "三爻";
case YaoPosition::Si: return "四爻";
case YaoPosition::Wu: return "五爻";
case YaoPosition::Shang: return "上爻";
default: return "";
}
}
// 爻符号转完整字符串(用于显示)
string symbolToString(char sym, bool isDongYao, YaoType type) {
if (sym == '—') {
return isDongYao ? "▅▅▅ ○" : "▅▅▅"; // 阳爻(动爻标○)
} else {
return isDongYao ? "▅▅ ▅▅ ×" : "▅▅ ▅▅"; // 阴爻(动爻标×)
}
}
public:
// 构造函数:指定场景,初始化起卦+装卦
LiuYaoGua(const string& sce) : scenario(sce) {
// 1. 起卦:生成6个爻(从初爻→上爻,存储时0=初爻,5=上爻)
benGua.reserve(6);
YaoPosition posList[] = {YaoPosition::Chu, YaoPosition::Er, YaoPosition::San,
YaoPosition::Si, YaoPosition::Wu, YaoPosition::Shang};
for (int i = 0; i < 6; ++i) {
YaoType t = randomYaoType();
Yao y(t, posList[i]);
benGua.push_back(y);
// 记录动爻索引
if (y.isDongYao) {
dongYaoIdx.push_back(i);
}
}
// 2. 生成变卦(基于本卦动爻变化)
bianGua.reserve(6);
for (const auto& y : benGua) {
Yao bianYao(y.type, y.pos);
bianYao.originalSymbol = y.changedSymbol; // 变卦以变化后的符号为基准
bianYao.isDongYao = false; // 变卦无动爻
bianGua.push_back(bianYao);
}
// 3. 装卦:定位世应(简化规则:世在三爻,应在上爻;实际需按八宫卦推演)
shiYao = YaoPosition::San;
yingYao = YaoPosition::Shang;
// 4. 确定用神(根据场景匹配,可扩展其他场景)
if (scenario == "求职" || scenario == "职场晋升" || scenario == "考试") {
yongShen = "官鬼"; // 事业类用神=官鬼
} else if (scenario == "财运" || scenario == "投资") {
yongShen = "妻财"; // 财运类用神=妻财
} else if (scenario == "感情" || scenario == "婚姻") {
yongShen = "妻财"; // 男占女=妻财,女占男=官鬼(此处简化为妻财)
} else {
yongShen = "官鬼"; // 默认用神
}
}
// 显示卦象信息(本卦+变卦+世应+动爻)
void showGua() {
cout << "\n===== 六爻卦象(" << scenario << ")=====\n";
cout << "【本卦】(从下到上:初爻→上爻)\n";
for (int i = 5; i >= 0; --i) { // 显示时从上爻→初爻(符合卦象阅读习惯)
const auto& y = benGua[i];
string posStr = posToString(y.pos);
string symStr = symbolToString(y.originalSymbol, y.isDongYao, y.type);
// 标注世应
if (y.pos == shiYao) posStr += "(世)";
if (y.pos == yingYao) posStr += "(应)";
cout << posStr << ":" << symStr << "\n";
}
cout << "\n【变卦】(动爻变化后)\n";
for (int i = 5; i >= 0; --i) {
const auto& y = bianGua[i];
string posStr = posToString(y.pos);
string symStr = symbolToString(y.originalSymbol, false, y.type);
cout << posStr << ":" << symStr << "\n";
}
cout << "\n【核心信息】\n";
cout << "世爻(求测者):" << posToString(shiYao) << "\n";
cout << "应爻(目标):" << posToString(yingYao) << "\n";
cout << "用神(核心关注):" << yongShen << "\n";
cout << "动爻数量:" << dongYaoIdx.size() << " 个\n";
if (!dongYaoIdx.empty()) {
cout << "动爻位置:";
for (int idx : dongYaoIdx) {
cout << posToString(benGua[idx].pos) << " ";
}
cout << "\n";
}
}
// 简化断卦(基于世爻-用神生克+动爻助力)
string duanGua() {
// 简化:世爻五行=木(求测者),用神五行=金(官鬼=求职机会)
WuXing shiWuXing = WuXing::Mu;
WuXing yongShenWuXing = WuXing::Jin;
int relation = wuXingRelation(shiWuXing, yongShenWuXing);
string result = "【断语】\n";
// 结合动爻数量判断事态复杂度
if (dongYaoIdx.empty()) {
result += "无动爻,事态平稳但进展缓慢,需耐心等待;\n";
} else if (dongYaoIdx.size() >= 3) {
result += "动爻较多(" + to_string(dongYaoIdx.size()) + "个),事态多变,需灵活应对;\n";
} else {
result += "动爻较少(" + to_string(dongYaoIdx.size()) + "个),事态明确,方向清晰;\n";
}
// 核心生克断吉凶
if (relation == 1) { // 世爻生用神(木生火?此处用神=金,木克金→relation=-1,需按实际五行调整)
// 修正:用神=官鬼(金),世爻=木→金克木(用神克世)
// 重新映射生克逻辑到实际场景
if (wuXingRelation(yongShenWuXing, shiWuXing) == -1) {
result += "用神(" + yongShen + ")克世爻,代表目标对求测者有压力,但压力即动力,只要主动争取,可成;\n";
} else if (wuXingRelation(shiWuXing, yongShenWuXing) == -1) {
result += "世爻克用神(" + yongShen + "),代表求测者主动争取,但需注意方式方法,避免过度强硬;\n";
} else if (wuXingRelation(yongShenWuXing, shiWuXing) == 1) {
result += "用神(" + yongShen + ")生世爻,大吉!目标主动向求测者靠拢,机会易得,成功率高;\n";
} else {
result += "世爻与用神无生克(比劫),代表事态平淡,需借助外力(如贵人相助)推动,否则难有突破;\n";
}
}
// 动爻助力判断
for (int idx : dongYaoIdx) {
// 简化:动爻生用神则助力,克用神则阻碍
WuXing dongYaoWuXing = (idx % 2 == 0) ? WuXing::Tu : WuXing::Huo; // 随机分配动爻五行(示例)
int dongRelation = wuXingRelation(dongYaoWuXing, yongShenWuXing);
if (dongRelation == 1) {
result += posToString(benGua[idx].pos) + "动,生扶用神,有外力助力(如贵人引荐、政策支持);\n";
} else if (dongRelation == -1) {
result += posToString(benGua[idx].pos) + "动,克制用神,有阻碍(如竞争对手、突发状况);\n";
}
}
result += "【总结】:" + (dongYaoIdx.size() <= 2 && wuXingRelation(yongShenWuXing, shiWuXing) != -1 ? "吉" : "平") + ",需把握时机,顺势而为。\n";
return result;
}
};
// 主函数:演示求职场景卦例
int main() {
// 初始化卦例(场景:求职)
LiuYaoGua gua("求职");
// 显示卦象信息
gua.showGua();
// 显示断卦结果
cout << gua.duanGua() << endl;
return 0;
}
核心用神:妻财、子孙、兄弟、官鬼
核心用神:妻财、官鬼、兄弟、父母
核心用神:父母、官鬼、妻财、子孙
核心用神:官鬼、子孙、父母、妻财
核心用神:父母、官鬼、子孙、兄弟
涉及出差、旅游过程中的平安状况,以及可能遇到的交通延误或事故风险,还包括航班、高铁等交通工具是否准点等问题。在六爻占断中,父母爻代表交通工具或机票等相关事务;官鬼爻则对应延误、意外或事故等不利因素;子孙爻象征平安顺利,为吉利之兆。
#include <iostream>
#include <vector>
#include <random>
#include <string>
#include <algorithm>
using namespace std;
// 1. 核心枚举定义(六爻基础元素)
// 爻的类型(少阴/少阳为静爻,老阴/老阳为动爻)
enum class YaoType { ShaoYang, ShaoYin, LaoYang, LaoYin };
// 爻位(从下到上:初爻→上爻)
enum class YaoPosition { Chu, Er, San, Si, Wu, Shang };
// 五行(生克关系核心)
enum class WuXing { Mu, Huo, Tu, Jin, Shui };
// 2. 爻结构体(单个爻的完整信息)
struct Yao {
YaoType type; // 爻型(少阴/少阳/老阳/老阴)
YaoPosition pos; // 爻位(初→上)
bool isDongYao; // 是否为动爻
char originalSymbol; // 本卦爻符号(—阳 / --阴)
char changedSymbol; // 变卦爻符号(动爻变化后)
// 构造函数:根据爻型初始化所有属性
Yao(YaoType t, YaoPosition p) : type(t), pos(p) {
isDongYao = (t == YaoType::LaoYang || t == YaoType::LaoYin);
// 本卦符号
if (t == YaoType::ShaoYang || t == YaoType::LaoYang) {
originalSymbol = '—';
} else {
originalSymbol = '-'; // 显示时处理为"--"
}
// 变卦符号(动爻反转,静爻不变)
if (t == YaoType::LaoYang) {
changedSymbol = '-'; // 老阳变阴
} else if (t == YaoType::LaoYin) {
changedSymbol = '—'; // 老阴变阳
} else {
changedSymbol = originalSymbol; // 静爻不变
}
}
};
// 3. 卦类(管理本卦、变卦、世应、用神等核心信息)
class LiuYaoGua {
private:
vector<Yao> benGua; // 本卦(原始摇出的卦)
vector<Yao> bianGua; // 变卦(动爻变化后的卦)
YaoPosition shiYao; // 世爻(求测者)
YaoPosition yingYao; // 应爻(目标/他人)
string yongShen; // 用神(如"官鬼"="求职机会")
string scenario; // 占测场景(如"求职")
vector<int> dongYaoIdx;// 动爻索引(0=初爻,5=上爻)
// 随机生成单个爻(符合铜钱摇卦概率:少阳3/8、少阴3/8、老阳1/8、老阴1/8)
YaoType randomYaoType() {
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<> dis(0, 7); // 0-7共8种情况
int randNum = dis(gen);
if (randNum >= 0 && randNum <= 2) return YaoType::ShaoYang; // 3/8
else if (randNum >= 3 && randNum <= 5) return YaoType::ShaoYin; // 3/8
else if (randNum == 6) return YaoType::LaoYang; // 1/8
else return YaoType::LaoYin; // 1/8(randNum=7)
}
// 五行生克判断(返回:a对b的作用关系,1=生,-1=克,0=无生克)
int wuXingRelation(WuXing a, WuXing b) {
// 生:木→火→土→金→水→木
if ((a == WuXing::Mu && b == WuXing::Huo) ||
(a == WuXing::Huo && b == WuXing::Tu) ||
(a == WuXing::Tu && b == WuXing::Jin) ||
(a == WuXing::Jin && b == WuXing::Shui) ||
(a == WuXing::Shui && b == WuXing::Mu)) {
return 1; // a生b
}
// 克:木→土→水→火→金→木
else if ((a == WuXing::Mu && b == WuXing::Tu) ||
(a == WuXing::Tu && b == WuXing::Shui) ||
(a == WuXing::Shui && b == WuXing::Huo) ||
(a == WuXing::Huo && b == WuXing::Jin) ||
(a == WuXing::Jin && b == WuXing::Mu)) {
return -1; // a克b
}
return 0; // 无生克(比劫)
}
// 爻位转字符串(用于显示)
string posToString(YaoPosition pos) {
switch (pos) {
case YaoPosition::Chu: return "初爻";
case YaoPosition::Er: return "二爻";
case YaoPosition::San: return "三爻";
case YaoPosition::Si: return "四爻";
case YaoPosition::Wu: return "五爻";
case YaoPosition::Shang: return "上爻";
default: return "";
}
}
// 爻符号转完整字符串(用于显示)
string symbolToString(char sym, bool isDongYao, YaoType type) {
if (sym == '—') {
return isDongYao ? "▅▅▅ ○" : "▅▅▅"; // 阳爻(动爻标○)
} else {
return isDongYao ? "▅▅ ▅▅ ×" : "▅▅ ▅▅"; // 阴爻(动爻标×)
}
}
public:
// 构造函数:指定场景,初始化起卦+装卦
LiuYaoGua(const string& sce) : scenario(sce) {
// 1. 起卦:生成6个爻(从初爻→上爻,存储时0=初爻,5=上爻)
benGua.reserve(6);
YaoPosition posList[] = {YaoPosition::Chu, YaoPosition::Er, YaoPosition::San,
YaoPosition::Si, YaoPosition::Wu, YaoPosition::Shang};
for (int i = 0; i < 6; ++i) {
YaoType t = randomYaoType();
Yao y(t, posList[i]);
benGua.push_back(y);
// 记录动爻索引
if (y.isDongYao) {
dongYaoIdx.push_back(i);
}
}
// 2. 生成变卦(基于本卦动爻变化)
bianGua.reserve(6);
for (const auto& y : benGua) {
Yao bianYao(y.type, y.pos);
bianYao.originalSymbol = y.changedSymbol; // 变卦以变化后的符号为基准
bianYao.isDongYao = false; // 变卦无动爻
bianGua.push_back(bianYao);
}
// 3. 装卦:定位世应(简化规则:世在三爻,应在上爻;实际需按八宫卦推演)
shiYao = YaoPosition::San;
yingYao = YaoPosition::Shang;
// 4. 确定用神(根据场景匹配,可扩展其他场景)
if (scenario == "求职" || scenario == "职场晋升" || scenario == "考试") {
yongShen = "官鬼"; // 事业类用神=官鬼
} else if (scenario == "财运" || scenario == "投资") {
yongShen = "妻财"; // 财运类用神=妻财
} else if (scenario == "感情" || scenario == "婚姻") {
yongShen = "妻财"; // 男占女=妻财,女占男=官鬼(此处简化为妻财)
} else {
yongShen = "官鬼"; // 默认用神
}
}
// 显示卦象信息(本卦+变卦+世应+动爻)
void showGua() {
cout << "\n===== 六爻卦象(" << scenario << ")=====\n";
cout << "【本卦】(从下到上:初爻→上爻)\n";
for (int i = 5; i >= 0; --i) { // 显示时从上爻→初爻(符合卦象阅读习惯)
const auto& y = benGua[i];
string posStr = posToString(y.pos);
string symStr = symbolToString(y.originalSymbol, y.isDongYao, y.type);
// 标注世应
if (y.pos == shiYao) posStr += "(世)";
if (y.pos == yingYao) posStr += "(应)";
cout << posStr << ":" << symStr << "\n";
}
cout << "\n【变卦】(动爻变化后)\n";
for (int i = 5; i >= 0; --i) {
const auto& y = bianGua[i];
string posStr = posToString(y.pos);
string symStr = symbolToString(y.originalSymbol, false, y.type);
cout << posStr << ":" << symStr << "\n";
}
cout << "\n【核心信息】\n";
cout << "世爻(求测者):" << posToString(shiYao) << "\n";
cout << "应爻(目标):" << posToString(yingYao) << "\n";
cout << "用神(核心关注):" << yongShen << "\n";
cout << "动爻数量:" << dongYaoIdx.size() << " 个\n";
if (!dongYaoIdx.empty()) {
cout << "动爻位置:";
for (int idx : dongYaoIdx) {
cout << posToString(benGua[idx].pos) << " ";
}
cout << "\n";
}
}
// 简化断卦(基于世爻-用神生克+动爻助力)
string duanGua() {
// 简化:世爻五行=木(求测者),用神五行=金(官鬼=求职机会)
WuXing shiWuXing = WuXing::Mu;
WuXing yongShenWuXing = WuXing::Jin;
int relation = wuXingRelation(shiWuXing, yongShenWuXing);
string result = "【断语】\n";
// 结合动爻数量判断事态复杂度
if (dongYaoIdx.empty()) {
result += "无动爻,事态平稳但进展缓慢,需耐心等待;\n";
} else if (dongYaoIdx.size() >= 3) {
result += "动爻较多(" + to_string(dongYaoIdx.size()) + "个),事态多变,需灵活应对;\n";
} else {
result += "动爻较少(" + to_string(dongYaoIdx.size()) + "个),事态明确,方向清晰;\n";
}
// 核心生克断吉凶
if (relation == 1) { // 世爻生用神(木生火?此处用神=金,木克金→relation=-1,需按实际五行调整)
// 修正:用神=官鬼(金),世爻=木→金克木(用神克世)
// 重新映射生克逻辑到实际场景
if (wuXingRelation(yongShenWuXing, shiWuXing) == -1) {
result += "用神(" + yongShen + ")克世爻,代表目标对求测者有压力,但压力即动力,只要主动争取,可成;\n";
} else if (wuXingRelation(shiWuXing, yongShenWuXing) == -1) {
result += "世爻克用神(" + yongShen + "),代表求测者主动争取,但需注意方式方法,避免过度强硬;\n";
} else if (wuXingRelation(yongShenWuXing, shiWuXing) == 1) {
result += "用神(" + yongShen + ")生世爻,大吉!目标主动向求测者靠拢,机会易得,成功率高;\n";
} else {
result += "世爻与用神无生克(比劫),代表事态平淡,需借助外力(如贵人相助)推动,否则难有突破;\n";
}
}
// 动爻助力判断
for (int idx : dongYaoIdx) {
// 简化:动爻生用神则助力,克用神则阻碍
WuXing dongYaoWuXing = (idx % 2 == 0) ? WuXing::Tu : WuXing::Huo; // 随机分配动爻五行(示例)
int dongRelation = wuXingRelation(dongYaoWuXing, yongShenWuXing);
if (dongRelation == 1) {
result += posToString(benGua[idx].pos) + "动,生扶用神,有外力助力(如贵人引荐、政策支持);\n";
} else if (dongRelation == -1) {
result += posToString(benGua[idx].pos) + "动,克制用神,有阻碍(如竞争对手、突发状况);\n";
}
}
result += "【总结】:" + (dongYaoIdx.size() <= 2 && wuXingRelation(yongShenWuXing, shiWuXing) != -1 ? "吉" : "平") + ",需把握时机,顺势而为。\n";
return result;
}
};
// 主函数:演示求职场景卦例
int main() {
// 初始化卦例(场景:求职)
LiuYaoGua gua("求职");
// 显示卦象信息
gua.showGua();
// 显示断卦结果
cout << gua.duanGua() << endl;
return 0;
}
涵盖签证审批进度、移民申请结果及海外定居后的适应情况。其中,父母爻用于表示签证文件、移民材料等文书类内容;官鬼爻反映审批过程中可能遇到的阻碍或政策限制;兄弟爻则体现申请者所面临的竞争压力或同类申请者的干扰。
包括异地工作调动、转学手续办理、跨城市发展的整体规划等情形。父母爻代表调动所需的正式文件或接收单位的相关流程;官鬼爻决定调动能否成功,也暗示潜在阻力;妻财爻则关联到异地生活的经济成本与生活质量。
所有现代占断场景均建立在传统六爻“分类占断”的理论框架之上。例如,“功名”类推演为考试升学或职场晋升,“出行”扩展至签证办理与航班状态监控。尽管对象发生变化,但用神选取原则保持一致——如交通工具仍以父母爻为用神,因属行程载体,延续古法逻辑。
每一类占事的核心用神皆围绕三大主线展开:一是“事体本身”,由官鬼或父母爻承担;二是“利益与结果”,通常落在妻财或子孙爻上;三是“阻碍与竞争”,多由兄弟爻体现。此结构与进阶卦理如三合局、墓库、旬空等紧密相连。例如财运类需观察“妻财入墓”或“子孙旬空”现象,疾病类则重视“官鬼伏藏”与“子孙临玄武”的组合特征。
现代新增领域如投资决策、签证审批、电竞比赛等,本质上是传统卦理对新兴事物的映射。其有效性依赖于精准的用神定位结合卦象动静关系进行验证。比如投资类需分析“妻财”与“子孙”的生克关系,并判断“官鬼”是否作为忌神出现,从而评估潜在风险。这种模式满足了对占卜结果可验证性的深层探究需求。
经过本系列基础知识的学习与拓展,相信读者已初步掌握六爻观测法的核心要义,达到六爻观测师的入门水准。人生路远,聚散有时,未来的修行之路还需各自努力前行。不求功名利禄,但求内心无愧,以此一句,与诸君共勉。若日后尚有余力,我亦将整理毕生所积卦例成册,继续分享心得。
观测之术,法无定法,随君深研,终有所悟!
扫码加好友,拉您进群



收藏
