我的C#第一次实验:中秋博饼

一、实验目的:

熟悉C#语法和VS编程环境

二、开发环境:

1.操作系统:windows 10 X64
2.SDK:Visual Studio 2019

三、制作项目

1.了解博饼规则:

2.模拟骰子点数情况:

a.利用方法随机出点数

要模拟掷6次骰子的情况,需要用到Random类中的Next方法

首先创建Random类的实例

   Random myRandom = new Random();

通过使用Random类的方法Next来随机输入6个点数,并将它们存入一个一维数组中。

for (i = 0; i <= 5; i++){k = myRandom.Next(1, 6);b[i] = k;}

b.将用户所摇出的骰子数展示出来

了解foreach语句

foreach 语句按数组或集合类型的枚举器返回的顺序处理元素,该顺序通常是从第 0 个元素到最后一个元素

通过foreach语句输出骰子点数的情况

 foreach (int t in b){Console.Write("{0,-3}",t);}

3.根据骰子情况判断中奖情况:

a.计算每个点数重复出现的次数

 public void PD(int[] t){int n = 0;int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;foreach (int i in t){switch (i){case 1: a++; break;case 2: b++; break;case 3: c++; break;case 4: d++; break;case 5: e++; break;case 6: f++; break;}}

b.关键在于根据“4”重复出现的次数做出判断

switch (d){case 1: n = 1; break;//一秀case 2: n = 2; break;//二举case 3: n = 4; break;//三红case 4: n = 6; break;//四红case 5: n = 8; break;//五红case 6: n = 11; break;//红六劫}//“4”出现的次数为主

c.再根据其余点数出现的次数做出二次判断

int p = Max(a, b, c, e, f);switch (p){case 4: n = 3; break;//四进case 5: n = 7; break;//五子case 6: n = 9; break;//黑六劫}//其余数字重复的情况

d.最后根据一些特殊情况做甄别:

因为这些情况与之前情况相互矛盾或者包含在之前情况当中,故可以按顺序进行判断

        if (p==1&&d==1) n = 5;//对堂if (f == 6) n = 10;//遍地锦if (f == 2 && b == 4) n = 12;//插金花

e.输出具体中奖情况:

根据以上得出n的值,判断中奖情况

switch (n){case 0: Console.WriteLine("很遗憾,您此次未中奖");break;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;case 9: Console.WriteLine("官级:状元,别名:黑六劫"); break;case 10: Console.WriteLine("官级:状元,别名:遍地锦"); break;case 11: Console.WriteLine("官级:状元,别名:红六劫"); break;case 12: Console.WriteLine("官级:状元,别名:插金花"); break;}

4.测试程序:

namespace ConsoleApp1
{class Program{static void Main(string[] args){int i;JS myJS;myJS = new JS();Random myRandom = new Random();int k= 0;int[] b;b = new int[6] ;Console.WriteLine("所摇骰子点数为:");for (i = 0; i <= 5; i++){k = myRandom.Next(1, 6);b[i] = k;}foreach (int t in b){Console.Write("{0,-3}",t);}Console.WriteLine();myJS.PD(b);}}
}

四、完整代码:

using System;class JS
{public int Max(int a, int b, int c, int d, int e){int x = a;if (b > x) x = b;else if (c > x) x = c;else if (d > x) x = d;else if (e > x) x = e;return x;}//计算一个数字重复出现的最大次数public void PD(int[] t){int n = 0;int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0;foreach (int i in t){switch (i){case 1: a++; break;case 2: b++; break;case 3: c++; break;case 4: d++; break;case 5: e++; break;case 6: f++; break;}}//统计每个点数的重复次数switch (d){case 1: n = 1; break;//一秀case 2: n = 2; break;//二举case 3: n = 4; break;//三红case 4: n = 6; break;//四红case 5: n = 8; break;//五红case 6: n = 11; break;//红六劫}//“4”出现的次数为主int p = Max(a, b, c, e, f);switch (p){case 4: n = 3; break;//四进case 5: n = 7; break;//五子case 6: n = 9; break;//黑六劫}//其余数字重复的情况if (p == 1 && d == 1) n = 5;//对堂if (f == 6) n = 10;//遍地锦if (f == 2 && b == 4) n = 12;//插金花//判断输出什么Console.WriteLine("中奖情况为:");switch (n){case 0: Console.WriteLine("很遗憾,您此次未中奖");break;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;case 9: Console.WriteLine("官级:状元,别名:黑六劫"); break;case 10: Console.WriteLine("官级:状元,别名:遍地锦"); break;case 11: Console.WriteLine("官级:状元,别名:红六劫"); break;case 12: Console.WriteLine("官级:状元,别名:插金花"); break;}}
}namespace ConsoleApp1
{class Program{static void Main(string[] args){int i;JS myJS;myJS = new JS();Random myRandom = new Random();int k= 0;int[] b;b = new int[6] ;Console.WriteLine("所摇骰子点数为:");for (i = 0; i <= 5; i++){k = myRandom.Next(1, 6);b[i] = k;}foreach (int t in b){Console.Write("{0,-3}",t);}Console.WriteLine();myJS.PD(b);}}
}

五、总结与归纳:

1、思考过程

博饼一共有两个过程,一个是投出去,观察点数(利用Random类的Next方法创建随机数),一个是根据点数判断中奖情况(因为情况很多,使用switch语句来进行判断。

2、自身感悟

第一次使用C#语言,既熟悉又陌生;熟悉是因为它的语法格式类似于C,C++,而陌生是因为它独特的语句以及方法。C#语言的作用远不止于此,希望自己以后能够熟练的掌握应用它。

我的C#第一次实验:中秋博饼相关推荐

  1. html5中秋博饼,2020年中秋博饼优秀作文(精选5篇)

    2020年中秋博饼优秀作文(精选5篇) 在平平淡淡的日常中,大家对作文都不陌生吧,作文是通过文字来表达一个主题意义的记叙方法.那么你知道一篇好的作文该怎么写吗?以下是小编收集整理的2020年中秋博饼优 ...

  2. java applet类开始博饼_中秋博饼demo

    [实例简介] 自己编写的中秋博饼demo.随机方向滚动,判断椭圆边缘碰撞,骰子之间碰撞.喜欢的可以拿去. [实例截图] [核心代码] f3735861-cb9e-49a5-8bb4-114320c68 ...

  3. php 摇骰子,php实现的中秋博饼游戏之掷骰子并输出结果功能详解

    本文实例讲述了php实现的中秋博饼游戏之掷骰子并输出结果功能.分享给大家供大家参考,具体如下: 前面讲述了php实现的中秋博饼游戏之绘制骰子图案功能,纯php实现,就要用php来生成图案,第一步就先绘 ...

  4. 厦门特色中秋——博饼

    特色中秋--博饼 博饼,是厦门人几百年来独有的中秋传统活动,是一种独特的月饼文化,也是厦门人对历史的一种传承.   相传,中秋博饼,是郑成功屯兵厦门时为解士兵的中秋相思之情.激励鼓舞士气而发明的.于是 ...

  5. 微信小程序中秋博饼部分插图分享

    这是微信小游戏<中秋博饼>的部分软件展示图,后续会公开源代码和其他module,谢谢

  6. php做的中秋博饼游戏之绘制骰子图案功能示例

    先看代码 header('Content-Type:image/png'); $img  = imagecreatetruecolor(200, 200); $white = imagecoloral ...

  7. 厦门中秋博饼程序!(JAVA编写)

    /*博饼,这是一个Applet程序,要求:记录已经获取的每种奖品的数目,如果某种奖品用完了,再博出的相应点数不获奖. 游戏结束的条件是:状元已经产生,而且奖品已经用完.跟踪每个获奖过程,一直到游戏结束 ...

  8. 中秋博饼游戏的实现(c++)

    博饼可以说是福建闽南特色,而且近几年来有向北方向辐射影响的趋势,是根据古时候朝廷的官阶作为参照考量的标准.博饼活动存在了三百多年,并且还在被不断地完善和发扬光大,这就是对博饼这项活动最好的褒奖! 中秋 ...

  9. 第一次实验:阅读与准备作业

    第一次实验:阅读与准备作业 这个作业属于哪个课程 18软件工程基础 这个作业要求在哪里 作业要求 我这个课程的目标是 学到自己想要的知识,确定自己的目标 这个作业在哪个具体的方面帮助我实现目标 主要帮 ...

最新文章

  1. 【原创】.NET读写Excel工具Spire.Xls使用(4)对数据操作与控制
  2. DevExpress控件之GridControl、GridView
  3. 我们为什么要把方法区分为:静态方法和实例化方法 ?(摘)
  4. 笔记-项目质量管理-七种基本质量工具
  5. 【struts2】struts2拦截器
  6. java面试题八 传值传引用
  7. 设计冲刺下载_如何运行成功的设计冲刺
  8. shell 写入文件_phpMyAdmin利用日志文件GetSHELL
  9. 2015.09.05 C++中类的static与const成员
  10. android自动路由,GitHub - greatzi/RouterKit: 又一个路由库;Android平台对页面、服务的路由框架。自动化且易用。...
  11. 直接调用高德地图_高德上线“充电地图”功能 覆盖全国96%充电桩信息
  12. Python爬虫教程:网易云音乐歌词
  13. navicat激活已过期
  14. 亲测好用的万能工具箱:Parallels Toolbox for mac中文版
  15. 【CEP 扩展开发二】Hello World
  16. The choise between Interface and Abstract Class
  17. 输出全靠画html5在线玩4399,输出全靠画
  18. java.lang.IllegalArgumentException: argument type mismatch
  19. 【华人学者风采】王祥科 华北电力大学
  20. git push报错,

热门文章

  1. 电脑自动开关机软件测试,电脑自动关机bat命令 - 仅仅you的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  2. linux X配置文件,Linux和Windows互传文件 用户配置文件和密码配置文件 用户组管理 用户管理...
  3. intreweb 在Http.sys 部署
  4. matlab 储能下垂控制,一种用于直流配电网的储能系统下垂控制方法与流程
  5. java可以在类中直接定义语句_基于javac实现的编译时注解
  6. 简单神经网络训练模型(pima-indians-diabetes)
  7. myeclipse ant 编译java_Java MyEclipse下Ant build.xml简单实例详解
  8. CMC-T型软起动器
  9. Open3D 纹理贴图
  10. 《涨知识啦41》——半导体中的光吸收