C#控制台/梅花易数一撮金小游戏的教学
封建迷信不可取,沉迷此道降智商
首先看看结果
输入命理 二字
可以得到一首诗
具体的操作我列一下
1,获取汉字的笔画
2,通过汉字笔画所得数进行运算
3.在数据中获取满足条件的一行诗句
其中有一些难点我会告诉大家z’g
这个是背景知识
http://www.360doc.com/content/17/1007/23/4530213_693070023.shtml
直接开叭
首先 这个我还是用到数据库 SQLServer 以及EntityFramwork框架
具体的数据在这
http://www.95yijing.com/article/zhishi/meihua/150.html
把这个写入数据库
应该怎么写入呢?
把他复制粘贴成txt文本 大家都会吧
类似这样
在数据库中新建一张biao
然后导入数据库
1.如何将Txt文本文件导入SQLServicer自建的表?
答:
Bulk insert A表
From 'F:\test.txt'With( //txt文件如何让sql识别那个是行?那个是列?//行的分割 如 1,张三,爱好篮球fieldterminator=',',//列的分割rowterminator='\n')
这样 sql语句就会根据表的格式读取数据
以上示例中 逗号拆成一行一行 换行符拆成一列一列
什么意思?
好吧 我举个例子
新建表 名为student
新建一个txt文档
就可以了
大火思索一下 应该懂的吧
数据库里其实有对汉字的不支持的
第二个问题
sqlserver的解码要求
txt文本是utf-8
而sql是gbk
要导入 必会有乱码
解决方法是用NotePad++
粘贴到上面 转码 另存为txt格式
就行了
这里有一个自增Id的制作
DECLARE @i intSET @i=0UPDATE A表 SET @i=@i+1,Id=@i
这样 就得到了一个包含文本的test表
再新建一张
名为GroupIndexOnebyOne
但是最终的表 应该是这样
差距就在于前面的YiGroup YiGroupIndex这些结构
先写好结构吧
以下可能有点复杂
梅花易数的数据结构
八卦X八卦
一共64卦
一卦有三首诗
一共有 192条诗
既然64卦 一卦3 首
那我们就把YIGrop设置为一卦
这3首诗都在1个卦象内
PS:好像是乾天卦?
所以 懂我的意思吗
192/3 = 64
之后就是在数据库输入数据结构
我偷懒了(sb才一个一个输吧)
用了几个循环加IO
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;namespace JUZHEN
{class Program{static void Main(string[] args){int ind = 0;List<int> myList = new List<int>();for (int j = 1; j <= 64; j++){for (int i = 1; i <= 3; i++){ind++;Console.WriteLine(ind + ","+j + "," + i);StreamWriter sw = new StreamWriter(@"F:\txtstr1.txt", true);sw.WriteLine(ind + "," + j + "," + i);sw.Close();}}Console.ReadLine();}}
}
OK 搞定了数据库
再吧test的Text列转移过最终的表
这里来 最终的表名字:GroupIndexOnebyOne
```csharpUPDATE GroupIndexOnebyOneSET YiText=test.YiTextFROM testWHERE GroupIndexOnebyOne.Id=test.Id
数据库的搭建结束
获取汉字笔画
网上有
但是代码太长了 我不想发了 另一个文章有 自己找找吧 关键词:获取汉字笔画
主体
string firstHanZi = "诚";string secondHanZi = "佛";string zuheHanZi = firstHanZi + secondHanZi;int firstNums;int secondNums;int zuheNums;int zuheNumsChuSix;if (GetStrokeCount(firstHanZi) <= 8){firstNums = GetStrokeCount(firstHanZi);}else{firstNums = GetStrokeCount(firstHanZi) % 8;}if (GetStrokeCount(secondHanZi) <= 8){secondNums = GetStrokeCount(secondHanZi);}else{secondNums = GetStrokeCount(secondHanZi)% 8;}Console.WriteLine(string.Format("\"{0}\"的总笔画数为:{1}", zuheHanZi, GetStrokeCount(zuheHanZi)));zuheNums = GetStrokeCount(zuheHanZi);zuheNumsChuSix = zuheNums % 6;Console.WriteLine("总笔画%6:"+ zuheNumsChuSix);Console.WriteLine("卦数1:{0},卦数2:{1},总笔画%6:{2}", firstNums,secondNums,zuheNumsChuSix);//我们只需要 3 个 数字 // 卦1 卦2 和余数 var NeiGua = mycontext.MeiHuaData.Where(p => p.YiId == firstNums).Select(p=>p.YiGroup); var WaiGua = mycontext.MeiHuaData.Where(p => p.YiId == secondNums).Select(p => p.YiGroup);if (zuheNumsChuSix == 0){zuheNumsChuSix = 3;}if (zuheNumsChuSix == 2){zuheNumsChuSix = 1;}if (zuheNumsChuSix == 3){zuheNumsChuSix = 2;}if (zuheNumsChuSix == 4){zuheNumsChuSix = 2;}if (zuheNumsChuSix == 5){zuheNumsChuSix = 3;}if (zuheNumsChuSix == 6){zuheNumsChuSix = 3;}var GetYiGroup = mycontext.MeiHuaData.Where(p=>p.YiGroup == firstNums*secondNums ).Where(q => q.YiGroupIndex == zuheNumsChuSix).Select(r=>r.YiText);foreach (var ss in GetYiGroup){Console.WriteLine("YiShuGroup:"+ss);}foreach (var ss in NeiGua){Console.WriteLine("NeiGua:" + ss);}foreach (var ss in WaiGua){Console.WriteLine("WaiGua:" + ss);}List<string> myList = new List<string>();switch (firstNums){case 1:Console.WriteLine("乾");break;case 2:Console.WriteLine("兑");break;case 3:Console.WriteLine("离");break;case 4:Console.WriteLine("震");break;case 5:Console.WriteLine("巽");break;case 6:Console.WriteLine("坎");break;case 7:Console.WriteLine("艮");break;case 8:Console.WriteLine("坤");break;default:Console.WriteLine("你的汉字有误");break;}switch (secondNums){case 1:Console.WriteLine("乾");break;case 2:Console.WriteLine("兑");break;case 3:Console.WriteLine("离");break;case 4:Console.WriteLine("震");break;case 5:Console.WriteLine("巽");break;case 6:Console.WriteLine("坎");break;case 7:Console.WriteLine("艮");break;case 8:Console.WriteLine("坤");break;default:Console.WriteLine("你的汉字有误");break;}Console.ReadLine();}}
}
获取哪一卦的方法就是 卦1X卦2 定位到
都在lambda函数那
也没时间优化了
找时间unity版本做出来
C#控制台/梅花易数一撮金小游戏的教学相关推荐
- 国学*周易*梅花易数 代码实现效果展示 - 梅花心易
近日偶遇 舒涵老师 <国学*周易>4天免费试听课,带着一颗好奇心,看了2晚直播: 第1课入门周易基础知识: 第2课讲梅花易数: 听完梅花易数,突来灵感,随机报2个数字,根据公式测算凶吉:感 ...
- [数理工程学] 梅花易数-[宋]邵雍 宋抄本影印
<梅花易数>是中国古代占卜法之一.现在的梅花心易就是梅花易数的别称.相传为宋代易学家邵雍所著,梅花易数起源于汉易,是一部以易学中的数学为基础,结合易学中的"象学"进行占 ...
- python完成梅花易数排盘程序
<梅花易数>是中国古代占卜法之一.现在的梅花心易就是梅花易数的别称.相传为宋代易学家邵雍所著,梅花易数起源于汉易,是一部以易学中的数学为基础,结合易学中的"象学"进行占 ...
- 奇门遁甲和梅花易数的区别,你知道吗?
梅花易数和奇门遁甲,都是我国古代占卜学十分重要的组成部分,梅花易数依托先天八卦数理,灵活性强,号称"诸事可测":奇门遁甲更被称为帝王之学,包含天文.历法.哲学等诸多领域的内容.那么 ...
- 梅花易数快速入门(无聊专用,算术摘录,非沉迷,理性看待)
先整个这个,用来对应 我给你一个时间去预测,比如2017年 首先要把年月日转化为农历 十天干:甲.乙.丙.丁.戊.己.庚.辛.壬.癸 十二地支:子.丑.寅.卯.辰.巳.午.未.申.酉.戌.亥. 天干计 ...
- C51玩8x8LED点阵:PointGame —— 收藏数爆炸的LED小游戏
** 前言 ** 我借同学的光驱把光盘中的文件拷出来后,开始尝试玩一玩单片机. 目前做的比较难的是8X8Led点阵的使用,元件感觉有点多啊. 我用的是普中科技HC6800-ES V2.0的开发板,很多 ...
- 简易猜数1~100数字小游戏ovo
初阶c语言的小程序: 如有错误,请您赐教qwq #include<stdio.h> #include<time.h>//这里需要time头文件,以便于后续产生随机种子 int ...
- 1、唯交易的市场不会偏差,2、期权对冲股票市值张数和权利金计算
最近领导 眼睛估计亮,目观八方耳听四路的,有讲到期权云云.3000期权上市,咱也弄出个数据验证下,顺便就巴拉巴拉,别落伍了.俱进俱进嘛... 1.唯交易的市场不会偏差,2.期权对冲股票市值张数和权利金 ...
- win7系统备份还原软件_易数一键还原是一款免费的、功能强大的备份还原软件,支持EFI架构的操作系统和安全启动。...
这篇文章虽有点长,但是值得你用心去看,小雷今天上课刚学的,所以现学现用嘛,哈哈哈 安装 易数一键还原软件的安装非常简单,从易数一键还原官方网站 www.onekeyrestore.cn 或其它下载站, ...
最新文章
- linux 进程装入 物理内存 页表,linux内存管理解析----linux物理,线性内存布局及页表的初始化...
- python如何全网爬取_如何通过Python爬取互联网
- Android微信跳一跳,自动跳App实现
- html让后端删除数据库,Chrome在请求之间删除WebSQL数据库
- html5的web存储详解
- 虚拟机下载和使用说明
- react中创建组件
- Google 中国开发者大会最后一天报名!
- java 关闭进程_java在进程启动和关闭.exe程序
- 巧用clear:both
- tomcat、redis session共存配置
- 浙大 博士 计算机视觉,95后浙大博士生开发全新视图合成系统Neural Body,稀疏视角输入即可合成360°人体视图|专访...
- 论黑客必知DOS命令技术大拳!
- 无法加载SQLite.Interop.dll:找不到指定模块
- 数仓(六)从0到1简单搭建数仓ODS层(埋点日志 + 业务数据)
- 服务器显示屏 超出工作频率范围,win7电脑显示器超出工作频率范围的详细处理方法...
- java获取中文字符串汉语拼音和首字母
- 1315: 小鱼比可爱
- JVM-GC G1-26
- android 连接蓝牙电子秤_电子秤蓝牙双模通讯Android低功耗蓝牙(蓝牙4.0)BLE开发(上)...
热门文章
- 【STM32】使用TIM内部计数器(CNT)实现按键长、短按
- ipad 计算机连接网络设置方法,如何使用Ipad通过已有网络连接(局域网)的笔记本电脑联网?...
- php验证码百度ocr识别,利用百度OCR实现验证码自动识别
- 漫画 | 什么智商的人才能当程序员?
- Axure RP 9滚动条制作
- Smokeping分享
- [乐意黎原创]关于IE,Firefox, Chrome等浏览器被t999.cn网页和2345浏览器流氓操作劫持的修复方法
- 了解 OpenJDK 以及为什么要使用OpenJDK?
- 前不久江门新会发生了一件不可思议的恐怖事件!!
- c 语言定义2维字符串数组赋值,二维数组赋值字符串 c 语言 二维字符串数组赋值问题...