基于c#的双色球游戏的设计与实现

2018-01-28 09:07何水艳武汉软件工程职业学院
消费导刊 2018年24期
关键词:开奖红球数据源

何水艳 武汉软件工程职业学院

一、引言

双色球是中国福利彩票的一种玩法, 完成一个双色球系统有如下规则:实现手工选号(不能出现重复号码);按双色球游戏规则自动选号(不能出现重复号码);模拟开奖;根据开奖结果计算中奖金额等。C#是一个简单的、现代的、通用的、面向对象的编程语言,应用.NET框架,综合运用C#相关知识完成控制台程序的界面设计与实现。通过本系统的开发使学生掌握基于C#程序设计的基本方法,具备一定的控制台应用程序开发的能力,对提高学生软件编程实践操作能力具有现实的指导意义。

二、实现双色球游戏开发的实验设计

应用C#的控制台界面设计与功能模块如下图1所示,包括手工选号,自动选号,模拟开奖、结果对比、界面刷新等功能。这里将在Visual Studio 2015平台下完成双色球游戏开发的实验。

(一)手动选号

由用户手动输入选择的红球和蓝球号码,其中6个红球,1个蓝球。红球范围为1-33,蓝球号码为1-16,所选数字不允许重复,也不允许选择不存在的号码。

为了防止选号数字的重复,可以定义了一个bool类型的数组,数组大小也就是整个红球的数量,从01到33,如果这个号码已经被选了,那么这个bool数组指定号码的位置就被标为true;然后继续随机生成数字,实例化一个随机对象;最后通过随机对象的Next方法,生成01到33的随机数,把它存到一个大小为6的数组中,最终作为变量返回即可。

(二)自动选号

由系统自动生成6个不重复红球号码,1个蓝球号码。红球范围为1-33,蓝球号码为1-16。

生成不重复随机数算法:

1)定义一个数据源,一个接收结果的容器;

2)利用random生成一个指定范围的索引;

3)将随机生成的索引的数据源位置数据赋值给容器的第1个位置;

4)将数据源的最后一个元素赋值给随机索引的位置;

5)随机索引上限减1。

(三)开奖

获取中奖号码和获取机选号码的函数是一样的,在可投注号码范围内,随机选择号码,存入公共静态变量中,如下图所示∶

(四)结果比对

将机选号码或手选号码与开奖号码进行比对,根据比对结果判断中奖等级,并根据投注倍率返回获得奖金的值。

实现算法:

1)分别定义一个统计红球和篮球相同个数的变量;

2)将用户选择的红球与系统开奖开出的红球进行比对,若相同,则统计红球的变量值+1,蓝球同理;

3)根据红球及蓝球相同的个数判断中奖等级,并根据等级计算奖金。

三、结束语

文中设计了基于c#的双色球综合实验,让学生利用所学知识和技能,以项目为驱动,进一步掌握C#程序的开发技术和技巧,强化了学生模块化编程方法; 这将有助于综合掌握C#的基础知识,以及更好的培养学生实践工程能力。本实验设计的另一个特点是,在Visual Studio 2015平台下,完全用它的控制台界面进行编程开发,既充分锻炼了学生的软件编程能力,又有效的达到了实验目标。以上只是笔者的一点经验体会,在教学实际过程中应注意的问题还有很多。

猜你喜欢
开奖红球数据源
关注问题本质 提升数学素养
一定、可能和不可能
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
概率与统计高考解答题考向
基于真值发现的冲突数据源质量评价算法
分布式异构数据源标准化查询设计与实现