| 赞 | 2 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2020-7-27 |
| 在线时间 | 1379 小时 |
- 梦石
- 0
- 星屑
- 76
- 在线时间
- 1379 小时
- 注册时间
- 2012-7-5
- 回帖
- 1643

|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 kuerlulu 于 2014-7-6 16:36 编辑
看到@鑫晴 发的帖子, 然后内牛满面居然有想要研究算卦的小伙伴...
在下是高一的时候研读了一遍朱熹的<周易释义>【←我们学校图书馆一书架这种书, 显然充数的
然后深感中华文化博大精深啊..
声明: 请不要把"算卦"和"迷信"联系在一起, "算卦"是中华文化的结晶, "迷信"是忽悠人的手段, 有不法分子用算卦忽悠百姓, 简直玷污了这一劳动成果.
关于<易>经的资料请百度, 这里不再赘述.
正片
<易>中记载了算卦的方法--<明蓍策><考变占>(记载在<系词>中)靠边站(雾)两个是一起用的, 原文我就不打了你们也看不懂, 就把方法解释一下:
=begin
首先代表全部的数: 50
从中拿出一个, 代表你要占卜的对象 (剩49)
①剩下的信手而分, 并从右手(代表地)中取出一个, 代表求卦者, 如果是自己在算卦那就代表自己 (剩48)
②如果左手的数是4的倍数, 就从48个中扔掉8个 (剩40), 否则扔掉4个 (剩44)
接下来把代表求卦者的"1"放回去, 重复步骤①(不要问我为什么拿出来又放进去), 进行步骤③
③如果左手的数是4的倍数或(4的倍数+1), 就从总数中扔掉8个, 否则扔掉4个
把代表求卦者的"1"放回去, 重复步骤①, 进行步骤③
把代表求卦者的"1"放回去, 重复步骤①, 进行步骤③ (没打错, 确实要3遍)
这时你手中还剩的数只可能是以下4种: 24, 28, 32, 36, 如果不是证明你哪一步做错了
对应关系: (书写规范->变卦(这一点我不想多讲只希望读到此贴的人百度一下))
24 -> 6 -> 老阴 -> - - -> —
28 -> 7 -> 少阳 -> — -> —
32 -> 8 -> 少阴 -> - - -> - -
36 -> 9 -> 老阳 -> — -> - -
然后我们得到了一根乂, 重复以上步骤共得到6根乂
按从下而上的顺序写好组成爻
并写出原卦对应的变卦
用<考变占>得到被算到的卦中的某条的坐标
根据坐标找到原卦和变卦中的某条(共两条), 然后研究这条内容即可.
=end
为了中华文化着想在下不会在脚本中使用rand函数做个随机抽屉忽悠大家, 仅仅当做快速查询<易>经的工具, 脚本正在编写
[fold=脚本]- ary = File.read("上经.txt").split("\n\n\n") + File.read("下经.txt").split("\n\n\n")
- index = {
- 0 => 2 ,
- 1 => 24 ,
- 2 => 7 ,
- 3 => 19 ,
- 4 => 15 ,
- 5 => 36 ,
- 6 => 46 ,
- 7 => 11 ,
- 10 => 16 ,
- 11 => 51 ,
- 12 => 40 ,
- 13 => 54 ,
- 14 => 62 ,
- 15 => 55 ,
- 16 => 32 ,
- 17 => 34 ,
- 20 => 8 ,
- 21 => 3 ,
- 22 => 29 ,
- 23 => 60 ,
- 24 => 39 ,
- 25 => 63 ,
- 26 => 48 ,
- 27 => 5 ,
- 30 => 45 ,
- 31 => 17 ,
- 32 => 47 ,
- 33 => 58 ,
- 34 => 31 ,
- 35 => 49 ,
- 36 => 28 ,
- 37 => 43 ,
- 40 => 23 ,
- 41 => 27 ,
- 42 => 4 ,
- 43 => 41 ,
- 44 => 52 ,
- 45 => 22 ,
- 46 => 18 ,
- 47 => 26 ,
- 50 => 35 ,
- 51 => 21 ,
- 52 => 64 ,
- 53 => 38 ,
- 54 => 56 ,
- 55 => 30 ,
- 56 => 50 ,
- 57 => 14 ,
- 60 => 20 ,
- 61 => 42 ,
- 62 => 59 ,
- 63 => 61 ,
- 64 => 53 ,
- 65 => 37 ,
- 66 => 57 ,
- 67 => 9 ,
- 70 => 12 ,
- 71 => 25 ,
- 72 => 6 ,
- 73 => 10 ,
- 74 => 33 ,
- 75 => 13 ,
- 76 => 44 ,
- 77 => 1
- }
- if ary.size == 64
- puts "易经读取完毕\n接下来的操作过程中请不要随便敲一些不符合说明的字符不然会报错"
- else
- raise "读取失败"
- end
- puts "请任取6个1..48的随机数, 用","隔开"
- v1 = gets.chop.split(",").map!{|s| s.to_i }
- puts "再任取6个1..44的随机数, 用","隔开"
- v2 = gets.chop.split(",").map!{|s| s.to_i }
- puts "再再任取6个1..40的随机数, 用","隔开"
- v3 = gets.chop.split(",").map!{|s| s.to_i }
- puts "结果如下:"
- y,z = [],[]
- 6.times do |n|
- y[n] = (48 - (v1[n] % 4 == 0 ? 8 : 4) - ((v2[n] % 4 == 0 or v2[n] % 4 == 1) ? 8 : 4) - ((v3[n] % 4 == 0 or v3[n] % 4 == 1) ? 8 : 4))/4
- end
- y.each do |n|
- z.push case n
- when 6 then 7
- when 9 then 8
- else
- n
- end
- end
- puts "原卦:"
- p y
- puts "变卦:"
- p z
- puts "图解:"
- g = ""
- a,b = "",""
- 6.times do |n|
- if y[5-n] % 2 == 0
- g += "- -"
- a += "0"
- else
- g += "—"
- a += "1"
- end
- g += " "
- if z[5-n] % 2 == 0
- g += "- -"
- b += "0"
- else
- g += "—"
- b += "1"
- end
- g += "\n"
- end
- s1 = a[0..2].to_i(2)*10 + a[3..5].to_i(2)
- s2 = b[0..2].to_i(2)*10 + b[3..5].to_i(2)
- e = ary[index[s1]-1]
- f = ary[index[s2]-1]
- puts g,e,f
- loop do
- eval gets
- end
复制代码 [/fold]
表格做好了
目前就自动翻到1/64的一卦, 未加入<考变占>.
易经.rar
(19.17 KB, 下载次数: 61)
|
评分
-
查看全部评分
|