51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> C >> 文章正文

每次OnTimer调用时都产生一个随机数

更新时间:2012-2-26:  来源:51代码网

void CSanjiaoView::OnTimer(UINT nIDEvent) 
{
degree+=10;
if(x.y>600)x.y=10;
else x.y+=10;
CTime time=CTime::GetCurrentTime();
srand(time.GetSecond());
x.x=rand()%1000;

Invalidate();// TODO: Add your message handler code here and/or call default

CView::OnTimer(nIDEvent);
}
我想在每次OnTimer调用时都产生一个随机数,程序就只在第一次调用时产生了一个随机数后面x.x的值就不变了,望大神指教

能产生随机数,定时消息WM_TIMER的优先级比较低
所以有时会收不到WM_TIMER消息
可用srand(unsigned(time(0)));产生随机数种子。
并把srand(unsigned(time(0)));放到oninitialize函数中,而不是放在ontimer函数中。

经过调试我发现x.x每次有变化,只不过每次只增加一点点,但为什么他只增不减,而且只增加一点点,这个随机数到底是怎样的?

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |