自己编一个大乐透选号器

新手,最近自己尝试着做了一个体彩大乐透的选号器,感觉挺有意思的,下面分享给大家!

具体步骤:

1、新建一个基于对话框的MFC工程。

2、按下图所示添加显示前区号码的5个编辑框,显示后区号码的2个编辑框,一个开始按钮。

截图标题

 

3、在OnInitDialog()函数中设置时间种子

BOOL C体彩大乐透Dlg::OnInitDialog()
{CDialogEx::OnInitDialog();// 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动//  执行此操作SetIcon(m_hIcon, TRUE);			// 设置大图标SetIcon(m_hIcon, FALSE);		// 设置小图标// TODO:  在此添加额外的初始化代码srand((time(0)));    // 以时间为种子,产生随机数return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

为什么要设置这个呢,不然的话每次产生的随机数都是固定的。所以能不能输出中奖号码,就得看当前是否占据天时地利人和了

4、开始按钮的响应函数中设置定时器

 SetTimer(1,40,NULL);

5、在WM_TIMER消息的响应函数中实现前区5位号码、后区2位号码的依次输出。

这里模拟真实开奖环境,7个球依次开出号码,因为每开出一个球大概都要摇动几十秒。

所以每产生1个号码都定时摇号几十秒,到时间后再确定该号码,并保证与前面已开出的号码保持互斥,再开始下一个球。

这样开出了7个号码,因为是随机产生的,所以再排个序,最终显示在下面静态文本框中,就跟电视中真是开奖环节差不多了。

void C体彩大乐透Dlg::OnTimer(UINT_PTR nIDEvent)
{// TODO:  在此添加消息处理程序代码和/或调用默认值// 开前区第1位号码if (bTimerSwitch[0]){nFront[0] = rand() % 35 + 1;SetDlgItemInt(IDC_EDIT_FRONT_1, nFront[0]);   // 实时更新// 时间到,确定号码if (++nCount[0] >= 40){bTimerSwitch[0] = false;bTimerSwitch[1] = true;}}// 开前区第2位号码if (bTimerSwitch[1]){nFront[1] = rand() % 35 + 1;SetDlgItemInt(IDC_EDIT_FRONT_2, nFront[1]);   // 实时更新// 时间到,确定号码if (++nCount[1] >= 40 && nFront[1] != nFront[0]){bTimerSwitch[1] = false;bTimerSwitch[2] = true;}}// 开前区第3位号码if (bTimerSwitch[2]){nFront[2] = rand() % 35 + 1;SetDlgItemInt(IDC_EDIT_FRONT_3, nFront[2]);   // 实时更新// 时间到,确定号码if (++nCount[2] >= 40 && nFront[2] != nFront[0] && nFront[2] != nFront[1]){bTimerSwitch[2] = false;bTimerSwitch[3] = true;}}// 开前区第4位号码if (bTimerSwitch[3]){nFront[3] = rand() % 35 + 1;SetDlgItemInt(IDC_EDIT_FRONT_4, nFront[3]);   // 实时更新// 时间到,确定号码if (++nCount[3] >= 40 && nFront[3] != nFront[0] && nFront[3] != nFront[1] && nFront[3] != nFront[2]){bTimerSwitch[3] = false;bTimerSwitch[4] = true;}}// 开前区第5位号码if (bTimerSwitch[4]){nFront[4] = rand() % 35 + 1;SetDlgItemInt(IDC_EDIT_FRONT_5, nFront[4]);   // 实时更新// 时间到,确定号码if (++nCount[4] >= 40 && nFront[4] != nFront[0] && nFront[4] != nFront[1] && nFront[4] != nFront[2] && nFront[4] != nFront[3]){bTimerSwitch[4] = false;bTimerSwitch[5] = true;}}// 开后区第1位号码if (bTimerSwitch[5]){nBack[0] = rand() % 12 + 1;SetDlgItemInt(IDC_EDIT_BACK_1, nBack[0]);   // 实时更新// 时间到,确定号码if (++nCount[5] >= 40 ){bTimerSwitch[5] = false;bTimerSwitch[6] = true;}}// 开后区第2位号码if (bTimerSwitch[6]){		nBack[1] = rand() % 12 + 1;SetDlgItemInt(IDC_EDIT_BACK_2, nBack[1]);   // 实时更新// 时间到,确定号码if (++nCount[6] >= 40 && nBack[1] != nBack[0]){bTimerSwitch[6] = false;KillTimer(1);}}// 7个号码全部开出,排序,并显示if (!bTimerSwitch[0] && !bTimerSwitch[1] && !bTimerSwitch[2] && !bTimerSwitch[3] && !bTimerSwitch[4] && !bTimerSwitch[5] && !bTimerSwitch[6]){// 6个数排序qsort(nFront, 5, sizeof(nFront[0]), cmp);qsort(nBack, 2, sizeof(nBack[0]), cmp);CString str;//str.Format(L"%d %d %d %d %d %d %d", nCount[0], nCount[1], nCount[2], nCount[3], nCount[4], nCount[5], nCount[6]);str.Format(L"前区:%d  %d  %d  %d  %d  后区:%d  %d", nFront[0], nFront[1], nFront[2], nFront[3], nFront[4], nBack[0], nBack[1]);SetDlgItemText(IDC_STATIC2, str);     // 最终结果显示}CDialogEx::OnTimer(nIDEvent);
}

6、OK了,当然大家可以把界面做得漂亮一点,在对话框界面添加几个PICTURE control控件,网上下载个选号器的图片,利用windows自带画图软件改成位图,再添加即可。下面这个是我以前做得双色球选号器。

 

 

 


            

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22401.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

彩票号码自选程序

彩票之–超级大乐透选号小程序 是不是每次买彩票的时候,总是不知道选什么号码好呢?今天来看看这个小程序吧! package Thread; import java.util.*; /*超级大乐透选号机*/ public class lottery {public static void main(String[] args) {//因为彩票号…

一种福利彩票辅助选号软件的开发

2021年10月,单位同事邀请几个相熟同事一起买福利彩票,除了以前就知道的双色球外,还介绍了一种快乐8的福彩玩法,看着大家选号绞尽脑汁,加上对快乐8玩法比较感性却,于是一口应承帮忙开发一个辅助选号工具&…

Python——彩票(大乐透)模拟随机选号

终于下手了,每天都路过一家体彩店,从没买过彩票的我今天终于带着好运(但愿吧,哈哈哈)进入了体彩店,跟老板说要买一个大乐透,老板说加个微信,可以送我一注,不知道咋玩&…

chatgpt赋能python:用Python查看电脑配置的方法

用Python查看电脑配置的方法 在计算机维护和开发过程中,我们常常需要了解电脑的硬件配置情况,比如CPU型号、内存大小、磁盘容量等等。通常我们可以在操作系统中使用系统信息工具查看这些信息,但是当我们需要程序化地获取这些信息&#xff0c…

chatgpt赋能python:使用Python轻松操作电脑,提高效率

使用Python轻松操作电脑,提高效率 随着互联网和电脑技术的飞速发展,电脑已经成为我们日常生活不可或缺的一部分。我们需要用电脑写文档、制作PPT、处理数据等等。但是电脑日常操作可能会耗费我们大量时间和精力,因此,学习使用Pyt…

chatgpt赋能python:Python怎么装TensorFlow,轻松学习人工智能开发!

Python怎么装TensorFlow,轻松学习人工智能开发! 如今,人工智能AI已经成为了IT技术领域中的一大热门话题。越来越多的人想要进入人工智能开发这一领域,而Python便成为了其中不可或缺的一部分,Python不仅支持科学计算&a…

chatgpt赋能python:Python跨平台开发的优势和意义

Python跨平台开发的优势和意义 Python是一种易于学习和使用的编程语言,它具有很强的可读性和清晰度,可以满足各种类型的开发需求。Python的跨平台特性使得它成为许多开发者和企业的首选开发工具。在这篇文章中,我们将深入探讨Python跨平台开…

chatgpt赋能python:Python提取文件名的方法及应用

Python提取文件名的方法及应用 在日常生活和工作中,我们都会遇到需要获取文件名的情况,无论是在编写程序时还是在管理电脑文件时,都会用到这个功能。Python是一种非常流行的编程语言,也可以用来进行文件操作。本文将介绍Python中…

chatgpt赋能python:Python控制电脑开机教程

Python控制电脑开机教程 如果你想通过编写Python程序来控制电脑开机,你来到了正确的地方。 Python是一门简单易学,强大多功能的编程语言,可用于各种不同的应用程序。本教程将介绍如何使用Python编写程序来控制电脑开机。 控制电脑开机的工具…

chatgpt赋能python:Python实现人脸检测功能:介绍、技术原理与应用

Python实现人脸检测功能:介绍、技术原理与应用 人脸识别技术在现代社会已经得到广泛应用。Python是一种功能强大的编程语言,在人工智能领域也有广泛的应用。下面,我们将介绍Python在人脸识别领域的应用,为大家带来一些技术原理和…

chatgpt赋能python:【Python应用】如何使用Python进行距离测量

【Python应用】如何使用Python进行距离测量 Python是一种高级编程语言,已成为数据分析、机器学习、Web开发等领域的主要工具。在实际应用中,Python还可以用于测量物体的距离。这篇SEO文章将介绍如何使用Python进行距离测量,并分析测距原理&a…

chatgpt赋能python:Python操作Word:从简单的文档生成到复杂的自动化办公

Python操作Word:从简单的文档生成到复杂的自动化办公 Python是一种高级编程语言,可用于处理各种任务。其中,操作文件是最常见的任务之一。从生成简单的文档到自动化生成复杂的报告和合同,Python是一个很好的选择。本文将介绍Pyth…

chatgpt赋能python:如何用Python黑别人电脑

如何用Python黑别人电脑 介绍 Python作为一种功能强大的编程语言,广泛应用于日常生活中的各个领域。除了它的优点,也存在一些人会利用它做出一些不良行为,如黑别人电脑。在这篇文章中,我们将会介绍如何用Python去黑别人的电脑&a…

【TCN回归预测】基于matlab TCN时间卷积神经网络数据回归预测(多输入单输出)【含Matlab源码 2317期】

⛄一、1 网络结构 1.1 时间卷积神经网络 1.1.1 扩张卷积 针对短时交通流预测等序列任务,需要对前一段时间内的交通流进行建模,不能仅仅依靠上一时刻交通流。而传统全连接神经网络在相邻层之间进行全连接,同一层的不同单元之间没有连接,这样的全连接结构只能学到数据之间的关联…

文字转绘画的AI绘画效果不理想?结合ChatGPT关键词辅助下

​在这个快节奏的新媒体时代,绘画作为一种形式独特、充满趣味的表达方式,已经成为吸引众多网友关注的重要手段。然而,将文字转换成绘画并不是一件轻而易举的事情。尤其是在使用AI绘画技术进行文字转绘画时,很多人发现效果并不尽如…

用Midjourney画个美女,AI绘画也太强大了!!! - 第8篇

历史文章(文章累计460) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 6…

数字中国建设进行时:吉林大学党委常务副书记冯正玉一行调研实在智能

两会前夕,中共中央、国务院印发了《数字中国建设整体布局规划》,明确了加快数字中国建设的重点任务。 《规划》强调,要加强整体谋划、统筹推进,把各项任务落到实处。在强化人才支撑的第四要点上,指出统筹布局一批数字领…

盘点一周教育动态政策风向

01.教育动态 1.高途陈向东:ChatGPT正在如何改变教育 近日,在中国民办教育协会举办的“培训教育行业规范有序发展研讨会”上,高途教育科技集团创始人、董事长兼CEO陈向东谈了关于教育与科技融合的几点思考。陈向东表示,ChatGPT模…

明年将突破2000亿元大关,中国母婴行业处在哪个阶段?企业如何应对“危”与“机”?...

北京2021年9月28日 /美通社/ -- “2016-2020年中国新生儿数量由1786万逐年下降至1003.5万人,2020年达历史新低; 自2005年开始,我国母婴市场规模持续扩展,预计将在2022年突破2000亿元大关…” 繁多复杂的信息背后,母婴行…

数据显示,母婴行业正成为快消品市场增长领头羊

在消费预期降低,消费收紧的情况下,消费品的下一个增长点在哪里? 来源于凯度消费指数的数据显示,在现在的市场环境中,母婴行业正在成为快消品市场增长的“领头羊”。而来自第一财经商业数据中心 (CBNData) 更表明&#…