虫虫教学

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 513|回复: 0

设计彩票抽奖机游戏

[复制链接]

4449

主题

4659

帖子

4万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
41710

最佳新人发帖达人推广达人热心会员突出贡献优秀讲师

发表于 2021-10-15 18:32:39 | 显示全部楼层 |阅读模式
     设计彩票抽奖机游戏
         随着经济的发展和人们生活水平的提高,福利彩票事业也有了一定的发展。如今的福利彩票多种多样,“彩民”可以自由选择。本例中笔者设计了一个简单的彩票抽奖机游戏,单击“开始”按钮,7个数字会随机变化,单击“停止”按钮,数字将停止变化,效果如图1所示。
                             

关键技术
实现本例的关键是如何随机获取小于10的数字。在C语言中,可以使用rand函数获取随机产生的数字,该函数语法如下:
int rand( void );
rand函数会随机产生很大的数,如何获取小于10的数字呢?笔者采用了求余的方法,即将rand产生的随机数除以10,获得的余数就是小于10的随机数了。示例:
int num = rand()%10;
设计过程
(1)新建一个基于对话框的应用程序。
(2)在对话框中添加Button和Static控件。
(3)从CStatic类派生一个子类,在该类中处理WM_PAINT消息,用于绘制标签文本。

本例主要利用rand函数生成0~9的随机时。当用户单击“开始”按钮时,程序启动计时器,调用rand函数生成随机数,当用户单击“停止”按钮时结束计时器。将当前生成的随机数显示出来。程序主要代码如下:
void CLotteryDlg::OnTimer(UINT nIDEvent)
{
      CString str;
      int i ;
      switch (nIDEvent)
      {
      case 1:
            i = rand()%10;
            if (i<10)
            {

                  str.Format("%i",i);
                   m_num1.SetWindowText(str);
            }
      break;
      case 2:
            i = rand()%10;
            if (i<10)
            {
                  str.Format("%i",i);
                  m_num2.SetWindowText(str);
            }
      break;
      case 3:
            i = rand()%10;
            if (i<10)
            {
                  str.Format("%i",i);
                  m_num3.SetWindowText(str);
            }
      break;
      case 4:
            i = rand()%10;
             if (i<10)
            {
                  str.Format("%i",i);
                  m_num4.SetWindowText(str);
            }
      break;   
      case 5:
            i = rand()%10;
            if (i<10)
            {
                   str.Format("%i",i);
                  m_num5.SetWindowText(str);
            }
      break;
      case 6:
            i = rand()%10;
            if (i<10)
            {
                  str.Format("%i",i);
                   m_num6.SetWindowText(str);
            }
      break;
      case 7:
            i = rand()%10;
            if (i<10)
            {
                  str.Format("%i",i);
                  m_num7.SetWindowText(str);
            }
       break;
      }
      CDialog::OnTimer(nIDEvent);
}
秘笈心法
心法领悟590:随机数的产生方法
rand函数可以用来产生一个随机数,这个函数属于C库中的函数,在Visual C++中还使用另一个C库函数srand来产生随机数,srand函数与rand不同,srand函数需要设置一个种子,这个种子一般为当前的时间值。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|虫虫教学--虫虫联盟官网

GMT+8, 2025-4-28 23:39 , Processed in 0.093581 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表