|
设计彩票抽奖机游戏
随着经济的发展和人们生活水平的提高,福利彩票事业也有了一定的发展。如今的福利彩票多种多样,“彩民”可以自由选择。本例中笔者设计了一个简单的彩票抽奖机游戏,单击“开始”按钮,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
|