feat: complete academic symbol lexicon heal, 2-column Cooper extraction, and updated assets
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
/// Свёртка календарной даты в число судьбы суток.
|
||||
///
|
||||
/// Та же школа, что на экране психоматрицы: день, месяц и год свёртываются
|
||||
/// по отдельности, затем складываются. 11, 22 и 33 не свёртываются дальше.
|
||||
class DayCode {
|
||||
final int value;
|
||||
final int reducedDay;
|
||||
final int reducedMonth;
|
||||
final int reducedYear;
|
||||
final String word;
|
||||
final String title;
|
||||
|
||||
const DayCode({
|
||||
required this.value,
|
||||
required this.reducedDay,
|
||||
required this.reducedMonth,
|
||||
required this.reducedYear,
|
||||
required this.word,
|
||||
required this.title,
|
||||
});
|
||||
|
||||
String get formula => '$reducedDay + $reducedMonth + $reducedYear = $value';
|
||||
|
||||
String get clause =>
|
||||
'Нумерологический код суток: $formula, знак «$word». '
|
||||
'Мастер-числа 11, 22 и 33 не свёртываются.';
|
||||
}
|
||||
|
||||
class DayNumerology {
|
||||
static const Map<int, String> words = {
|
||||
1: 'один',
|
||||
2: 'два',
|
||||
3: 'три',
|
||||
4: 'четыре',
|
||||
5: 'пять',
|
||||
6: 'шесть',
|
||||
7: 'семь',
|
||||
8: 'восемь',
|
||||
9: 'девять',
|
||||
11: 'одиннадцать',
|
||||
22: 'двадцать два',
|
||||
33: 'тридцать три',
|
||||
};
|
||||
|
||||
static const Map<int, String> titles = {
|
||||
1: '1 — Первопроходец (Монада)',
|
||||
2: '2 — Дипломат (Дуада)',
|
||||
3: '3 — Творец (Триада)',
|
||||
4: '4 — Строитель (Тетрада)',
|
||||
5: '5 — Странник (Пентада)',
|
||||
6: '6 — Хранитель очага (Гексада)',
|
||||
7: '7 — Искатель истины (Септенер)',
|
||||
8: '8 — Владыка материи (Октава)',
|
||||
9: '9 — Мудрец (Эннеада)',
|
||||
11: '11 — Духовный проводник',
|
||||
22: '22 — Великий архитектор',
|
||||
33: '33 — Служение и 33 ряда домов',
|
||||
};
|
||||
|
||||
static int reduce(int n, {bool keepMaster = true}) {
|
||||
var cur = n.abs();
|
||||
while (cur > 9) {
|
||||
if (keepMaster && (cur == 11 || cur == 22 || cur == 33)) return cur;
|
||||
var sum = 0;
|
||||
var x = cur;
|
||||
while (x > 0) {
|
||||
sum += x % 10;
|
||||
x ~/= 10;
|
||||
}
|
||||
cur = sum;
|
||||
}
|
||||
return cur;
|
||||
}
|
||||
|
||||
static DayCode ofDate(DateTime date) {
|
||||
final day = reduce(date.day);
|
||||
final month = reduce(date.month);
|
||||
final year = reduce(date.year);
|
||||
final value = reduce(day + month + year);
|
||||
return DayCode(
|
||||
value: value,
|
||||
reducedDay: day,
|
||||
reducedMonth: month,
|
||||
reducedYear: year,
|
||||
word: words[value] ?? '',
|
||||
title: titles[value] ?? '$value',
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user