이레 운세의 색은 어떻게 정해지나요?
복키의 이레 달력, 하루하루는 딱 한 번의 대조예요 — 오늘의 오행 대 내 명식의 용신·기신, 그리고 무엇을 먼저 묻느냐가 규칙의 전부예요.
Bokki 편집실
짧은 답
복키의 /week 화면은 앞으로 이레(7일) 하루하루를 ☀️·⛅·🌧️(좋음·무난·조심)로 칠해요. 생년월일과, 저장해 두신 태어난 시각·출생지를 빼면 그 판정에 저에 대한 어떤 것도 안 들어가요 — 이름도, 성별도요. 하루의 색은 딱 하나의 대조에서 나와요 — 그날의 오행이 제 명식의 용신(더 필요하다고 읽히는 오행들)에 드는가, 아니면 제 명식의 단 하나뿐인 기신과 같은가. 이걸 정하는 함수 moodOf()는 이 두 질문을 정해진 차례로 묻고 먼저 '예'가 나오는 곳에서 멈춰요 — 용신 먼저, 기신 다음, 둘 다 아니면 무난으로 떨어져요. 이 차례가 생각보다 더 중요한데, 명식에 따라 드물게 두 질문 모두에 '예'가 나올 수 있거든요.
규칙 — 차례, 고정된 점수, 그리고 그 밑의 열흘 주기
엔진은 오늘의 일주(사주 어디서나 쓰는 그 천간·지지 짝)를 읽어 천간의 오행만 뽑아요. 그리고 moodOf(오행, 용신, 기신)를 불러요 — 그 오행이 명식의 세 용신 중 하나면 좋음, 아니면 하나뿐인 기신과 같으면 조심, 둘 다 아니면 무난이에요. 결마다 점수는 고정이에요 — 좋음은 언제나 82, 무난은 언제나 70, 조심은 언제나 60이고 이 점수는 절대 흔들리지 않아요. 예전엔 안 그랬어요 — 이전 버전은 수치가 너무 기계적으로 보이지 않게 작은 무작위 지터를 더했는데, 그 지터가 조심 날의 점수를 화면이 어떤 낱말을 찍을지 가르는 경계 너머로 밀 수 있었어요 — 그래서 같은 결인 이틀이 순전히 해시값 차이로 다른 낱말을 화면에 찍을 수 있었죠. 고친 뒤로는 지터를 아예 없앴어요 — 이제 같은 결이면 언제나 같은 낱말이 찍혀요. 이 모든 것 밑에는 제 명식과 아무 상관 없는 주기가 하나 깔려 있어요 — 천간 열 글자(甲乙丙丁戊己庚辛壬癸)는 오행 다섯에 두 개씩 짝지어져요(甲乙=木, 丙丁=火, 戊己=土, 庚辛=金, 壬癸=水). 그래서 한 오행의 날은 열흘마다 정확히 두 번 돌아와요. 이레(7일) 창은 그 열흘 주기보다 짧아서, 주가 정확히 어디서 시작하느냐에 따라 한 오행의 두 날을 나란히 다 담을 수도, 하나만 담을 수도, 아예 못 담을 수도 있어요. 이 부분은 명식이 아니라 달력이 정해요.
실측 예시 — 같은 세 오행이 두 번씩 겹치는 한 주
daeun·sipsin·guardian 글이 이미 쓴 명식을 가져와요 — 1990년 5월 15일 14시 30분 서울 출생, 약한 명식으로 읽히고 용신은 水·土·金, 기신은 火 하나예요. 2026년 9월 8일(이 글이 나가는 오늘)부터 시작하는 한 주를 weeklyForecast()에 돌리면, 그 주의 일간은 마침 乙丙丁戊己庚辛 — 열 천간 주기의 2번째부터 8번째예요. 이 창은 火 두 자리를 다 담고, 土 두 자리도 다 담고, 金 두 자리도 다 담는데, 木은 두 자리 중 하나만, 水는 하나도 못 담아요. 결과: 화요일(木)은 무난, 수요일·목요일(火·火)은 둘 다 조심 — 조심이 이틀 연속이에요. 금요일·토요일(土·土)은 둘 다 좋음, 일요일·월요일(金·金)도 다시 둘 다 좋음이에요. 이 주 내내 水의 날은 단 하루도 없어요. 이 반복과 빈자리 전부가 열흘 주기가 이레 창을 뚫고 비치는 모습이에요 — 명식의 용신·기신 목록은 한 주 내내 안 바뀌고, 매일 달라지는 건 달력이 넘겨주는 오행뿐이에요.
이제 이 규칙이 대비해 만들어진 겹침 사례예요 — 1950년 1월 15일 정오 출생은 균형 명식으로 읽히고 용신은 火·木·金인데, 하나뿐인 기신도 金이에요. 1950년부터 2025년까지 매달 15일(출생 시각은 정오로 고정, 912건)을 훑으면 이런 명식이 91건 — 약 10.0% — 나와요, 용신 목록과 기신이 오행 하나를 공유하는 경우요. 그 1950년 1월 명식의 실제 한 주를 金 일진이 있는 구간까지 돌려 보면 정확히 차례가 예고한 대로예요 — 金의 날은 조심이 아니라 좋음으로 나오고, 점수도 그대로 82예요. moodOf()가 용신을 먼저 묻고 거기서 멈추기 때문이에요. 한 오행을 동시에 원하기도 하고 꺼리기도 할 수 있는 명식이라도 달력엔 답이 하나만 필요하고, 코드가 묻는 차례가 그 답이에요.
이 계산이 정하지 않는 것
각 색 아래의 하루 문구("흐름이 좋아요. 먼저 움직여요." 또는 "조심스러운 날 — 무리보다 정비.")는 생년월일과 그날 날짜의 해시로 결마다 세 개씩 있는 문구 풀에서 골라요 — 이 선택은 낱말에만 변화를 주지, 점수나 색에는 절대 손대지 않아요. 이 계산은 생년월일과, 저장해 두셨다면 태어난 시각·출생지를 읽어요 — 성별도 이름도 안 읽고, 다른 복키 계산 일부가 하는 것처럼 일간 자신의 오행을 따로 확인하지도 않아요. 출생지는 달력 쪽엔 손을 못 대요 — 그날의 오행은 getDayPillar(날짜)가 내는데 이 함수는 날짜 하나만 받아서, 같은 날짜는 누구에게나 같은 오행이에요. 출생지가 움직이는 것은 제 쪽 목록이에요. 복키는 명식을 진태양시로 세우는데, 1985년 1월 15일 아침 서울의 해는 한국 시계보다 41분 늦게 갔어요. 그래서 같은 시계 시각이 다른 일주에 떨어지고, moodOf()가 받는 용신 목록이 달라져요. 날짜와 시계 시각을 그대로 두고 출생지만 서울로 넣으면 21,888건(1950~2025년 매달 15일 × 하루 스물네 시각) 가운데 19.7%가 용신이나 기신이 달라져요. 그 21,888건을 다시 서로 다른 열 개의 주 시작일로 돌려 보면(어느 주를 보느냐에 답이 기대지 않게요) 그렇게 나온 218,880주 가운데 15.0%가 이레의 일곱 색 중 적어도 하나를 다시 칠하고, 낱낱의 날로는 9.2%가 달라져요. 1985년 1월 15일 0시 0분 출생이 가장 알기 쉬운 예예요. 출생지를 저장하지 않으면 일주가 갑인(甲寅)이고 명식은 강으로 읽혀 용신이 火·金·土라, 그 주의 土 이틀이 둘 다 좋음으로 나와요. 서울을 저장하면 해가 아직 자정에 못 닿아서(14일 23시 19분) 일주가 전날의 계축(癸丑)이고 명식은 균형으로 읽혀 용신이 火·金뿐이라, 같은 土 이틀이 무난으로 나와요. 그리고 그날 무슨 일이 일어날 확률이나 예언이 아니에요 — 고정된 용신 세 개짜리 목록과 기신 한 개짜리 목록을 이레 동안 일곱 번 대조하는, 순수한 구조적 비교예요. 그리고 열흘 주기가 만드는 쏠림을 일부러 고르게 펴지도 않아요 — 어느 주가 기신의 두 자리를 우연히 둘 다 담으면 조심이 이틀 연속으로 뜨고, 어느 주가 용신 하나를 아예 못 걸치면 그 오행은 한 번도 안 나와요 — 어느 쪽으로도 우연이 아니라 산식이 그렇게 만든 거예요.
맺음말 — 고정된 차례, 고정된 점수, 내 것이 아닌 주기
정리하면, 복키의 이레 운세는 절대 주사위를 굴리지 않아요. 매일 열 천간 주기에서 그날의 오행을 가져와, 내 명식의 용신·기신 목록에 대고 정해진 차례로 두 질문을 던져요 — 겹치면 용신이 이기고, 답에 붙는 점수는 절대 안 흔들려요. 남은 무작위는 이미 정해진 색 아래 거의 비슷한 문장 셋 중 무엇을 보여줄지뿐이에요. 주마다 달라 보이는 것 — 여기서는 좋음이 이틀 연속, 저기서는 조심이 줄줄이, 어떤 오행은 아예 한 번도 안 나오는 것 — 은 전부 열흘짜리 천간 주기가 이레 창 밑에서 돌아가며, 아무의 명식도 정하지 않은 일정에 맞춰 모두에게 같은 산수를 하고 있는 거예요.