Как программисты называют своих детей? Конечно же, написать сценарий!

Node.js TypeScript

Управляемое чтение

Называние имени ребенка – дело очень тонкое, кто-то прямо тратит деньги на то, чтобы его считали, кто-то использует генеалогию, чтобы устроить род, а кто-то использует любимые стихи или исторические события. Феодальное это или суеверное или нет, давайте отложим это в сторону.Это самое прямое проявление добрых желаний быть родителем.Ведь людям для жизни все равно нужно духовное удовлетворение. Теоретическую основу статьи составляют в основномПрофиль с пятью сеткамиДобавитьВосемь символов, четыре столбца и пять элементовВ сочетании попробуйте использовать сценарий JS для достижения полуавтоматического именования.

задний план

Автора больше интересует традиционная китайская культура, я немного изучил Чжоуи, Бацзы, китайскую медицину, медитацию, знаю принципы пяти элементов и восьми диаграмм. Имя ребенку нужно дать недавно, а у меня нет ни родословной, ни любимого стихотворения, поэтому я могу только сама изучить имя. Друг спросил, почему ты не платишь за это сам? Код фермера,Куда можно потратить деньги, точно не потратишь, как можно упустить такую ​​хорошую возможность заниматься математикой, а колеса, сделанные своими руками, лучше всего использовать.

Профиль с пятью сеткамиГоворят, что он был основан японцем Кумадзаки Кено в начале 1918 года. Поэтому, строго говоря, это всего лишь практический метод, основанный на теории традиционной китайской культуры, который можно просто понять как составление количества штрихов с именем.Счастливый номерКонкретные правила и принципы здесь повторяться не будут, студенты, которые хотят узнать подробности, могут обратиться к ним.

потому чтоПрофиль с пятью сеткамиПросто использовать числа, чтобы увидеть хорошее и плохое, измерение слишком одно. Китайские иероглифы делятся на пять элементов, и простой народ знает истину: чего не хватает в восьми иероглифах, то можно восполнить (на самом деле это сложнее, есть тибетские гань и так далее), например Мяо, Синь, Линь, Сен в имени эти слова очень распространены. Поэтому автор комбинирует восьмисимвольный [Четыре столпа и пять элементов] Дополнить практику пяти сеток. К сожалению, закон четырех столпов и пяти элементов слишком сложен, чтобы строить колеса с нуля, поэтому используется непосредственно готовое программное обеспечение.

Это почти такой же способ сбора денег и наименования имен на рынке. Наконец, после рассмотрения значения тишины и покоя, название, которое выйдет, точно не будет плохим.

PS: кажется, теперь у нас могут быть только трехсимвольные имена, чтобы предотвратить слишком много повторяющихся имен.

Показать результаты

Предположим, фамилия ребенка [Чжао], не хватает [золота] и [земли], девочка.

Запустите скрипт и используйте:

image.png

Результат Файл:

image.png

Просто выберите один и протестируйте его, например [Chen Wei]:

image.png

Заинтересованные студенты могут попробовать его сами.За исключением внешнего случая (неважного), это имя является благоприятным. Кроме того, автор также добавил пиньинь, потому что есть десятки тысяч результатов, поэтому, как только вы определили свое любимое произношение, вы можете искать по пиньинь.

текст

Инструкции по применению

Ведь он полуавтоматический, поэтому должно быть какое-то ручное управление. Кроме того, следует отметить, что для использования этого скрипта вы должны хотя бы использовать некоторые базовые операции github и nodejs. Конечно, если вы хотите просто посмотреть на веселье, это тоже очень приветствуется.

  1. использоватьВосьмизначная табличкаПрограммное обеспечение проверяет положение пяти элементов, выбирает атрибуты пяти элементов, которые необходимо усилить, и обращает внимание натибетское сухоерезультат после;
  2. git cloneавторыгитхаб проект, введите каталог для выполненияnpm i && npm run build;
  3. бегатьnpm startВведите информацию согласно подсказкам и просмотрите результаты;
  4. Учитываяплоский ритми значения и т. д., выберите несколько любимых имен;
  5. найти одинпрограмма для подсчета именИзмерьте балл (должна быть комбинация из восьми символов) и выберите подходящее имя. Однако количество штрихов некоторых символов на этом веб-сайте будет неправильным, что отличается от библиотеки символов скрипта.Словарь КансиОн имеет преимущественную силу.Если вы обнаружите, что данные в библиотеке скриптов неверны, пожалуйста, оставьте сообщение.

Советы: после выполнения шага 3 сначала выберите комбинацию имен наугад, затем перейдите на веб-сайт в шаге 5, чтобы проверить правильность пяти элементов. Если вы не поняли это правильно, возьмите пять строк еще раз.

выполнить

Конкретный код не будет опубликован, вы можете перейти крепозиторий githubПроверьте, здесь речь идет только об основной логике реализации кода.

Основные данные

Прежде всего, вам необходимо подготовить основные данные: библиотеку слов, библиотеку счастливых и плохих чисел с пятью кадрами, а именно:

библиотека слов

Формат данных представлен ts следующим образом:

// 五行
enum Ele {
  wood,
  fire,
  earth,
  metal,
  water,
}

// key 就是 字
Record<string, {
  char: string; // 字
  ele: Ele; // 五行
  strokes: number; // 笔画
  sound: string; // 拼音
}>

eg:

{
  "一":{"char":"一","ele":2,"strokes":1,"sound":"yi"},
  "乙":{"char":"乙","ele":2,"strokes":1,"sound":"yi"},
  "刁":{"char":"刁","ele":1,"strokes":2,"sound":"diao"},
  // ...
}

Пять счастливых и плохих чисел

Формат данных представлен ts следующим образом:

enum Sex {
  female,
  male,
}

Array<{
  desc: string;
  score: -2 | -1 | 0 | 1 | 2; // 吉正数;凶负数,处理的时候要剔除
  sex?: Sex; // 部分吉凶只针对男性或女性,使用时会根据性别进行过滤
  nums: number[];
}>

eg:

[  
  {
    "desc": "女德运暗示数(具有妇德,品性温良,助夫爱子)",
    "score": 1,
    "sex": 0,
    "nums": [5, 6, 11, 13, 15, 16, 24, 32, 35]
  },
  {
    "desc": "女性孤寡运暗示数(难觅夫君,家庭不和,夫妻两虎相斗,离婚,严重者夫妻一方早亡)",
    "score": -2,
    "sex": 0,
    "nums": [21, 23, 26, 28, 29, 33, 39]
  },
]

основная логика

  1. согласно сПола такжеПять счастливых и плохих чиселСгенерируйте все благоприятные числа и удалите дубликаты;
  2. Насильственный трехуровневый обход:
    • Сначала выберите благоприятное число, то есть [общую сетку]. Вычтите штрихи [фамилия], чтобы получить количество оставшихся штрихов, то есть [地Grid], иГарантируйте, что 【地Сетка】 — это благоприятное число.;
    • Насильно пройдитесь по двум персонажам, чьи штрихи составляют оставшиеся штрихи. Конечно, предпосылка состоит в том, что они прошли проверку пяти элементов. Кроме того, количество штрихов [фамилия] + [второй символ] должно быть гарантировано .

  numData.nums.forEach((totalScore) => {
    const earthScore = totalScore - surStks;
    if (allGoodNums.includes(earthScore)) {
      chars.forEach((secd) => {
        const manScore = surStks + secd.strokes;
        const lastRest = earthScore - secd.strokes;
        if (
          lastRest > 0 &&
          secd.ele === eles[0] &&
          allGoodNums.includes(manScore)
        ) {
          chars.forEach((last) => {
            if (
              lastRest === last.strokes &&
              last.ele === eles[1]
            ) {
              const { cosmos, man, earth, outside, total } = getNameScore({
                surnameData,
                secondNameData: secd,
                lastnameData: last,
              });
              const fiveRes = `总${total}人${man}地${earth}天${cosmos}外${outside}`;
              result.push(
                `${secd.char}${last.char}(${secd.sound},${last.sound}):${fiveRes}`
              );
            }
          });
        }
      });
    }
  });