70 lines
2.0 KiB
Dart
70 lines
2.0 KiB
Dart
|
|
import '../../../features/divination/data/models/divination_params.dart';
|
|||
|
|
|
|||
|
|
abstract final class DivinationTerms {
|
|||
|
|
static const yaoNames = ['初爻', '二爻', '三爻', '四爻', '五爻', '上爻'];
|
|||
|
|
|
|||
|
|
static const yaoTypeLabels = {
|
|||
|
|
YaoTypeLabel.youngYang: '少阳',
|
|||
|
|
YaoTypeLabel.youngYin: '少阴',
|
|||
|
|
YaoTypeLabel.oldYang: '老阳',
|
|||
|
|
YaoTypeLabel.oldYin: '老阴',
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
static const yinYang = {true: '阳', false: '阴'};
|
|||
|
|
|
|||
|
|
static const wuXing = ['木', '火', '土', '金', '水'];
|
|||
|
|
|
|||
|
|
static const yuanZhi = '元';
|
|||
|
|
|
|||
|
|
static const changeMarkOldYang = '○';
|
|||
|
|
static const changeMarkOldYin = '×';
|
|||
|
|
|
|||
|
|
static const signBest = '上上签';
|
|||
|
|
static const signGood = '中上签';
|
|||
|
|
static const signNormal = '中下签';
|
|||
|
|
|
|||
|
|
static const ganZhi = '干支';
|
|||
|
|
static const ganZhiInfo = '干支信息';
|
|||
|
|
static const ganZhiKongWang = '干支空亡';
|
|||
|
|
static const yueJian = '月建';
|
|||
|
|
static const riChen = '日辰';
|
|||
|
|
static const yuePo = '月破';
|
|||
|
|
static const riChong = '日冲';
|
|||
|
|
static const wuXingWangShuai = '五行旺衰';
|
|||
|
|
|
|||
|
|
static const guaXiang = '卦象';
|
|||
|
|
static const yaoXiang = '爻象';
|
|||
|
|
static const qiGua = '起卦';
|
|||
|
|
static const jieGua = '解卦';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
enum YaoTypeLabel { youngYang, youngYin, oldYang, oldYin }
|
|||
|
|
|
|||
|
|
extension YaoTypeLabelX on YaoType {
|
|||
|
|
String get label {
|
|||
|
|
return switch (this) {
|
|||
|
|
YaoType.youngYang =>
|
|||
|
|
DivinationTerms.yaoTypeLabels[YaoTypeLabel.youngYang]!,
|
|||
|
|
YaoType.youngYin => DivinationTerms.yaoTypeLabels[YaoTypeLabel.youngYin]!,
|
|||
|
|
YaoType.oldYang => DivinationTerms.yaoTypeLabels[YaoTypeLabel.oldYang]!,
|
|||
|
|
YaoType.oldYin => DivinationTerms.yaoTypeLabels[YaoTypeLabel.oldYin]!,
|
|||
|
|
YaoType.undetermined => '',
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
String get changeMark {
|
|||
|
|
return switch (this) {
|
|||
|
|
YaoType.oldYang => DivinationTerms.changeMarkOldYang,
|
|||
|
|
YaoType.oldYin => DivinationTerms.changeMarkOldYin,
|
|||
|
|
_ => '',
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
bool get isYang {
|
|||
|
|
return switch (this) {
|
|||
|
|
YaoType.youngYang || YaoType.oldYang => true,
|
|||
|
|
_ => false,
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
}
|