four-pillars 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/four-pillars.rb +63 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fa421d59c6eebe39c91e346319e4a53b026247f619032fdc54b2055bdff7e62
|
4
|
+
data.tar.gz: 9b9ace6b9c0e25546027f14740f3a60467b41f4ca726d65758b2b2f1b3be8c3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b43a695cb24b025c39cfc38af7d18d68c500357e0560077a05960feef8abde23d4b019201beb73166879ef82c304c43a0d8c0d531b78c0ad6f2ae02117a46090
|
7
|
+
data.tar.gz: 932fd3efd6e8d0ac69ed4d3aac0de9a340eed2c8a1a0bc3d8e8cc0961f20a72807fb4e043d718dbcfc11d97f5c2414cc96398098f40ac7743e489cf323a024bd
|
data/lib/four-pillars.rb
CHANGED
@@ -318,9 +318,10 @@ class FourPillarsLogic
|
|
318
318
|
# 日柱の十干と月柱の十二支
|
319
319
|
x = JIKKAN.index(kanshi[0][0])
|
320
320
|
y = JYUNISHI.index(kanshi[1][1])
|
321
|
-
SHUGOSHIN[y][x]
|
321
|
+
SHUGOSHIN[y][x].split("")
|
322
322
|
end
|
323
323
|
|
324
|
+
# 宿命中殺
|
324
325
|
def shukumei
|
325
326
|
s = []
|
326
327
|
t = kuubou # 天中殺 0:上段, 1:下段
|
@@ -340,6 +341,67 @@ class FourPillarsLogic
|
|
340
341
|
s += ["日座中殺"] if f
|
341
342
|
return s
|
342
343
|
end
|
344
|
+
|
345
|
+
def equivalent_kanshi(only_jikkan=false)
|
346
|
+
if only_jikkan
|
347
|
+
k = kanshi.map {|v| v[0] } # 日,月,年柱の十干
|
348
|
+
else
|
349
|
+
k = kanshi
|
350
|
+
end
|
351
|
+
if k[0] == k[1] && k[1] == k[2]
|
352
|
+
return [[0,1],[0,2],[1,2]]
|
353
|
+
elsif k[0] == k[1]
|
354
|
+
return [[0,1]]
|
355
|
+
elsif k[0] == k[2]
|
356
|
+
return [[0,2]]
|
357
|
+
elsif k[1] == k[2]
|
358
|
+
return [[1,2]]
|
359
|
+
else
|
360
|
+
return []
|
361
|
+
end
|
362
|
+
end
|
363
|
+
|
364
|
+
def on_distance?(j1,j2,d=6)
|
365
|
+
i = JYUNISHI.index(j1)
|
366
|
+
return j2 == JYUNISHI[(i+d) % 12]
|
367
|
+
end
|
368
|
+
|
369
|
+
# 律音
|
370
|
+
def ricchin
|
371
|
+
# 干支(十干・十二支)が同じ
|
372
|
+
equivalent_kanshi(false)
|
373
|
+
end
|
374
|
+
|
375
|
+
# 納音
|
376
|
+
def nacchin
|
377
|
+
# 十干が同じで十二支が 沖 の関係にある
|
378
|
+
v = []
|
379
|
+
eq = equivalent_kanshi(true)
|
380
|
+
eq.each do |e|
|
381
|
+
k0 = kanshi[e[0]][1]
|
382
|
+
k1 = kanshi[e[1]][1]
|
383
|
+
v += [e] if on_distance?(k0,k1,6)
|
384
|
+
end
|
385
|
+
return v
|
386
|
+
end
|
387
|
+
|
388
|
+
# 宿命大半会
|
389
|
+
def shukumei_daihankai
|
390
|
+
# 十干が同じで十二支が三合会局の関係にある
|
391
|
+
v = []
|
392
|
+
eq = equivalent_kanshi(true)
|
393
|
+
eq.each do |e|
|
394
|
+
k0 = kanshi[e[0]][1]
|
395
|
+
k1 = kanshi[e[1]][1]
|
396
|
+
v += [e] if on_distance?(k0,k1,4)
|
397
|
+
end
|
398
|
+
eq.each do |e|
|
399
|
+
k0 = kanshi[e[0]][1]
|
400
|
+
k1 = kanshi[e[1]][1]
|
401
|
+
v += [e] if on_distance?(k0,k1,8)
|
402
|
+
end
|
403
|
+
return v
|
404
|
+
end
|
343
405
|
end
|
344
406
|
|
345
407
|
if __FILE__ == $0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: four-pillars
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yosei Ito
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A class which tells fortune by Four Pillar astrology(四柱推命).
|
14
14
|
email: y-itou@lumber-mill.co.jp
|