周易八卦——数字卦预测的程序实现
1 /// <summary> 2 /// 根据数字确定八卦的上下卦,以及爻 3 /// </summary> 4 /// <param name="numbs"></param> 5 /// <returns></returns> 6 private static List<int> ComputerEightDiagrams(List<int> numbs) 7 { 8 List<int> dias = new List<int>(); 9 10 for (int i = 0; i < numbs.Count; i++) 11 { 12 if (i != numbs.Count - 1) 13 { 14 var m = numbs[i] % 8; 15 16 if (m == 0) m = 8; 17 18 dias.Add(m); 19 20 } 21 else 22 { 23 var n = numbs[i] % 6; 24 25 if (n == 0) n = 6; 26 27 dias.Add(n); 28 } 29 } 30 return dias; 31 }
根据用户的输入确定是哪一卦,哪一爻。
下面的代码是如何在控制台打印八卦图:
1 private static void Print(List<int> diagrams) 2 { 3 //存储 4 string[] keys = { "111", "011", "101", "001", "110", "010", "100", "000" }; 5 6 var up = diagrams[1]; 7 var down = diagrams[0]; 8 9 var upStr = keys[up - 1]; 10 var downStr = keys[down - 1]; 11 12 n = 0; 13 PrintYao(upStr.ToCharArray(), diagrams[2]); 14 PrintYao(downStr.ToCharArray(), diagrams[2]); 15 16 Console.ResetColor(); 17 } 18 19 private static int n = 0; 20 private static void PrintYao(char[] chars, int yao) 21 { 22 bool isYao=false; 23 24 foreach (var item in chars) 25 { 26 n++; 27 28 Console.WriteLine(""); 29 30 isYao = n == 6 - yao + 1; 31 32 if (item == '1') 33 { 34 Console.BackgroundColor =isYao? ConsoleColor.Yellow:ConsoleColor.Blue; 35 Console.WriteLine(" "); 36 } 37 else if (item == '0') 38 { 39 Console.BackgroundColor = isYao ? ConsoleColor.Yellow : ConsoleColor.DarkRed; 40 41 var color = Console.BackgroundColor; 42 43 Console.Write(" "); 44 45 Console.ResetColor(); 46 Console.Write(" "); 47 48 Console.BackgroundColor = color; 49 Console.Write(" "); 50 Console.Write("\r\n"); 51 } 52 } 53 }
diagrams,存储了上卦和下卦的顺序,其中keys数组中存储了八卦的爻信息,1:阳爻,0:阴爻。比如 111代表乾卦。此程序运行效果如下:
高亮:代表算出的爻。下载完整的代码:https://github.com/wangqiang3311/mywork
转载于:https://www.cnblogs.com/wangqiang3311/p/7125444.html
周易八卦——数字卦预测的程序实现相关推荐
- JAVA学习日志 关于周易数字卦的一个算法
最近开始学习JAVA语言.昨天一天看了尚学堂的视频.13集.学的比较浅,第一个拿来练手的程序就用周易吧.因为经常占卜数字卦,所以利用这个方法写了个简短的程序.设计初期,希望实现输入三个数字,能算出上卦 ...
- 周易八卦预测2012
前几日看Discover频道的记录片<解码世界2012>,提到中国古老的周易预测到2012将是世界末日,也提到玛雅历法.甚至提到一个神秘的互联网软件也可以预知未来,也预测到2012将是世界 ...
- JAVA学习日志 关于调用方法、生成对象的例子。还是用数字卦程序修改
今天学习如何调用方法,生成,建立对象.将程序在原数字卦程序里做了很多修改.多了一个CalculateData对象,作为存储卦象信息,增加了名字,便于以后学会存储之后多人进行记录.输入部分从原来的nex ...
- 使用SQL Server数据库指标预测应用程序问题
摘要 (Summary) Database metrics can be collected, maintained, and used to help predict when processes ...
- matlab中的灰色预测,灰色预测MATLAB程序
<灰色预测MATLAB程序>由会员分享,可在线阅读,更多相关<灰色预测MATLAB程序(11页珍藏版)>请在人人文库网上搜索. 1.实用标准文档灰色预测彷设曲七叫L叫耳/叫励 ...
- java全自动周易八卦算命超准
java周易八卦算命,挺准的 import java.util.ArrayList; import java.util.List; import java.util.Random;public cla ...
- Java黑皮书课后题第3章:3.12(回文数字)编写一个程序,提示用户输入一个三位的整数,然后确定它是否是回文数
3.12(回文数字)编写一个程序,提示用户输入一个三位的整数,然后确定它是否是回文数 题目 题目描述 示例 破题 代码 题目 题目描述 3.12(回文数字)编写一个程序,提示用户输入一个三位的整数,然 ...
- 周易六十四卦——火水未济卦
周易最后一卦,未济. 事实上,整个天地万物的生死推演,成住坏空,在前面一卦既济卦已经可以说是完全完备了.乾卦开始生天地,然后阴阳交而生屯蒙,这样一路下来,到既济卦,万物充实,集于大成,已经是到了顶峰. ...
- LL(1)预测分析程序
分析程序源代码: LL1分析程序(包含c源码) 文法: E -> E+F | E-F | T T -> T*F | T/F | F F -> i | (E) 注:这实际上就是包含括号 ...
最新文章
- win10突然打开matlab闪退,win10上的应用打开会闪退,直接闪退
- 判断dialog是否显示_如何成为一流的仪表维修工之液位测量仪表故障检查判断思路...
- Apollo自动驾驶入门课程第⑦讲 — 规划(上)
- 如何将CSS3 transforms应用于背景图像
- 因 inode 不足导致数据库登陆报错相关问题
- 如何将unity3d动画嵌入html,在Unity3D中使用精灵动画引擎制作动画的两种方法
- 十、IO输入输出流,装饰模式
- 卷积自编码器_GCLGP | 图卷积高斯过程
- 【新冠肺炎】SIR模型预测与数据分析之代码篇
- Windows10蓝屏的诸多解决方法
- 计算机网卡不连接网络连接怎么办,台式机无线网卡连接不上网络怎么办
- CodeForces - 1324D Pair of Topics (分治+排序)
- android 摄像头检测工具,检摄app下载-检摄软件(检测摄像头)下载 v1.0.7安卓版_5577安卓网...
- NXP JN5169 使用看门狗定时器
- textRNN textCNN(及代码实现)
- 免费好用的全球交友软件:Tandem(口语练习必备)!!!
- java实现打印机打印发票路径
- 生信软件4 - 拷贝数变异CNV分析软件 WisecondorX
- 平面广告设计基本的要素有哪些
- A. Magical Sticks
热门文章
- 都用无线技术,差距咋就这么大呢
- java开发微信设计论文_集客微信公众号: 本科毕业设计:基于WxJava框架的集客微信公众号的设计与实现...
- Windows Workflow Foundation(一)
- matlab 指纹,一种基于matlab的指纹识别方法
- bd09转wgs84 java_各种坐标系互相转换(WGS84转换BD-09主要)
- eclipse出现Parameter index out of range (1 number of parameters, which is 0)报错
- 与Java相关的四十个名字 (2005.08.18 来自:《程序员》杂志)
- linux 软件包kbd 位置,linux系统安装包的管理
- HI3861学习笔记(14)——ADC接口使用
- Flutter Candies 一桶天下,一个小例子彻底搞懂Android的MVP模式到底是什么