【C#基础】简单的双色球彩票模拟介绍

欢迎大家一起交流学习

目录

前言

一、双色球原理介绍

二、具体实现

1.买票函数

2.创建机选球

3.比较函数

三.主函数

 四、测试

总结

前言

本文介绍了简单的双色球彩票模拟介绍的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、双色球原理介绍

                        彩票生成器
            红球:  1-33  6个  不能重复
            篮球:1-16  1个  不能重复
            1.在控制台中购买彩票的方法
             “请输入第一个红球号码”
             "号码不能超过1--33"  "当前号码已经存在"
            2.随机产生一注彩票的方法int[7]
            random.Next(1,34)
            要求:红球号码不能重复,且按照从小到大排序
            3.两注彩票比较的方法,返回中奖等级
                 先计算红球、蓝球中奖数量

二、具体实现

1.买票函数

代码如下(示例):

 private static int[] BuyTicket()
        {
            int[] ticket = new int[7];
            //前6个红球
            for(int i=0;i<6;)
            {
                Console.WriteLine("请输入第{0}个红球号码:",i+1);
                int redNumber = int.Parse(Console.ReadLine());
                if (redNumber < 1 || redNumber > 33)
                    Console.WriteLine("购买的号码超过范围");
                else if (Array.IndexOf(ticket,redNumber)>=0)
                    Console.WriteLine("号码已经存在");
                else
                ticket[i++] = redNumber;
            }
            //第7个篮球
            int blueNumber;
            while(true)
            {
                Console.WriteLine("请输入篮球号码:");
                blueNumber = int.Parse(Console.ReadLine());
                if (blueNumber >= 1 && blueNumber <= 16)
                { 
                    ticket[6] = blueNumber;
                    break;
                }
                else
                    Console.WriteLine("号码超过范围");
            }
            return ticket;
        }

2.创建机选球

代码如下(示例):

private static int[] CreateRandomTicket()
        {
            int[] ticket = new int[7];
            for(int i=0;i<6;)
            {
                int redNumber = random.Next(1, 34);
                if (Array.IndexOf(ticket, redNumber) < 0)
                    ticket[i++] = redNumber;
            }
            ticket[6] = random.Next(1,17);
            //红球号码排序
            Array.Sort(ticket,0,6);
            return ticket;
        }

3.比较函数

比较机选和自选返回中奖值

 //比较两注彩排
        private static int TicketEquals(int[] myTicket, int[] randomTicket)
        {
            //计算红球,蓝球中奖数量
            int blueCount = myTicket[6] == randomTicket[6] ? 1 : 0;
            int redCount = 0;
            //我的第1个红球号码,在随机彩票中的红球是否存在
            //myTicket[0]    randomTicket
            for(int i = 0; i < 6; i++)
            {
                if (Array.IndexOf(randomTicket, myTicket[i], 0, 6) >= 0)
                    redCount++;
            }
            int level = 0; ;
            if (blueCount + redCount == 7)
                level = 1;
            else if (redCount == 6)
                level = 2;
            else if (redCount + blueCount == 6)
                level = 3;
            else if (redCount + blueCount == 5)
                level = 4;
            else if (redCount + blueCount == 4)
                level = 5;
            else if (blueCount == 1)
                level = 6;
            else
                level = 0;
            return level;
        }

三.主函数

 在Main中测试
             */
            int level = 0;
            int count = 0;
            int[] myTicket = BuyTicket();
         
            do
            {
                count++;
                 int[] randomTicket = CreateRandomTicket();
             
                level=TicketEquals(myTicket, randomTicket);
                Console.WriteLine("您为{0}等奖。累加消费:{1:c}", level,count*2);
            } while (level != 2);

 四、测试


总结


以上就是今天要讲的内容,本文仅仅简单介绍了彩票生成器的制作谢谢大家

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值