我把算卦变成了一段if-else

上篇聊了 Canvas 画九宫格,这篇聊聊站里另一个功能:宅卦命卦。

名字听起来玄,其实就是一道小学数学题。


命卦是什么

八宅风水里,每个人按出生年份有一个「命卦」,每套房子按坐向有一个「宅卦」。

命卦分东四命(坎震巽离)和西四命(坤兑乾艮)。宅卦也一样。同组则吉,不同组则凶------叫「宅命不配」。

宅命不配怎么办?有化解方法,但那是另一个话题。这篇只说一件事:命卦怎么算。

其实是一道数学题

2000 年是个分水岭。

2000 年前出生:

  • 男:(100 - 年份末两位) ÷ 9,取余数
  • 女:(年份末两位 + 5) ÷ 9,取余数

2000 年后出生:

  • 男:(99 - 年份末两位) ÷ 9,取余数
  • 女:(年份末两位 + 6) ÷ 9,取余数

余数是 0 当 9 处理。余数是 5 的话,男变坤(2)、女变艮(8)------这叫「五黄寄宫」。

搞懂规则,翻译成代码就几行:

typescript 复制代码
function calcLifeGua(year: number, gender: 'male' | 'female'): number {
  const tail = year % 100
  let rem = gender === 'male'
    ? (year >= 2000 ? (99 - tail) : (100 - tail)) % 9
    : (year >= 2000 ? (tail + 6) : (tail + 5)) % 9
  if (rem === 0) rem = 9
  if (rem === 5) rem = gender === 'male' ? 2 : 8
  return rem
}

1 到 9 对应八卦:1坎 2坤 3震 4巽 5中 6乾 7兑 8艮 9离。

想用的时候,传年份和性别,拿回来一个数字。去查对照表就能知道你是东四命还是西四命。

页面长什么样

功能本身不复杂,但用户体验要考虑三件事:

第一,要让人知道这是什么。

页面上方加了解释区------什么是命卦、什么是宅卦、为什么要算。不是每个人都看过风水书。两段话讲清楚,不用翻文档。

第二,算出来的数字要有意义。

右边是东西四命的对照表,左边是你的命卦数字和八卦名。中间是「宅命匹配」------东四命配东四宅则吉,西四命配西四宅则吉。

第三,坐向不能全靠猜。

很多人不知道自家坐向怎么定。我加了内联说明:以纳气口(大门/阳台)朝向为坐向,手机指南针就能测。一句说明放在输入框旁边,比一个问号 icon 点进去强。

整个页面三栏:左边用户输入 → 中间计算结果 → 右边对照参考。没有花活,就是「输入→看到结果→理解它」。

风水计算,没那么玄

做完这个功能最大的感受是:很多听起来很玄的东西,核心逻辑清晰得离谱。

命卦 = 出生年份 ÷ 9 取余数 + 两条例外。宅命匹配 = 两张表比一下。阳宅四要 = 四个要素各有一个吉凶方位列表。

没有 AI,没有大模型,没有魔法。就是数据结构和 if-else。

传统知识里那些看起来神秘的东西,用工程思维拆一遍,其实就那么回事。


关于作者:无羡,独立开发者,全栈工程师,专注 AI 应用与微服务架构。

📌 分类:独立开发实战

🔗 个人博客 --- 更多技术文章

✨ 开发者福利整理 --- 云服务资源汇总

📂 软件工坊 --- 我的技术分享

🌐 个人门户 --- 独立开发作品全集

相关推荐
李航19834 分钟前
AI定制柜建模,需要详细的建模规范和标准流程
人工智能·python·计算机视觉·ai·ai编程
殷色玫瑰30 分钟前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·linux·c语言·c++
code_slave(码畜)43 分钟前
微服务架构落地:基础服务 —— 报表服务(中篇:元数据、查询引擎、缓存与权限落地)
spring boot·spring cloud·缓存·微服务·架构
ZealSinger1 小时前
Boot4挂起函数丢traceId怎么修
spring boot·kotlin·协程·可观测性
IT_陈寒1 小时前
SpringBoot自动配置坑了我一把,原来是这样绕过去的
前端·人工智能·后端
青山木2 小时前
Hot 100 --- 编辑距离
java·数据结构·算法·leetcode·动态规划
朝朝辞暮i2 小时前
C++ 第 26 课:对象、指针与 ->
java·开发语言·c++
长弓三石2 小时前
用纯 Java 做一个企业级 Agent Harness 平台:BizBuddy 的设计与取舍
开源·agent·ai编程
code_slave(码畜)2 小时前
微服务架构落地:基础服务 —— 报表服务(AI 集成篇:AI 增强报表能力)
人工智能·spring boot·spring cloud·微服务·架构
长弓三石2 小时前
把 AgentScope Harness 装进 RuoYi-Vue-Plus:纯 Java AI 平台的集成实践
java·人工智能·agent