C++定時器的使用

leeboy_wang發表於2011-09-06
一段關於定時器的程式
 
// ThunderFind.cpp : 定義控制檯應用程式的入口點。
//

#include "stdafx.h"
#include <iostream>
#include   <stdio.h> 
#include "map.h"
#include <windows.h>
using namespace std;

map m;//m為map類的物件宣告為全域性的才能使用定時器
void CALLBACK addThunderTenMin(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime);//回撥函式的宣告要注意返回值
int _tmain(int argc, _TCHAR* argv[])
{
	m.init_Thunder();
	m.display();
	SetTimer(NULL,1,1000,(TIMERPROC)addThunderTenMin); //一個1秒觸發一次的定時器 ,這裡的addThunderTenMin實際是給計時器一個函式地址
	//m.addThunderTenMin();
	MessageBox(0,0,0,0);
	return 0;
}

void CALLBACK addThunderTenMin(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime) {
		m.getRandPos();//獲得隨機座標存放在posX,posY中。
		while(m.is_Thunder(m.posX,m.posY)) {
			m.getRandPos();
		}//判斷該點是不是雷
		m.addThunder(m.posX,m.posY);//新增地雷
		system( "cls ");
		m.display();
}



 

相關文章