91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 18.15MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2023-07-03
  • 語言: C/C++
  • 標簽: win32??c++??

資源簡介

win32、c語言、詳細注釋、個人理解、思維導圖

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“cMyTimer.h“
#include?“process.h“ //多線程需要的頭文件

/*******************************全局函數*********************************/
void?CallBack_TimerProc(void*?p) //定時器線程的回調函數
{//不停的運行定時器控制函數控制定時器運行
cMyTimer*?pTimer=(cMyTimer*)p; //獲取當前cMyTimer的類對象指針
if(pTimer==NULL)
{
return;
}
while(1) //不停的運行定時器控制函數
{
//檢測、刪除bDel狀態為TRUE的定時器
pTimer->CheckDelTimer();
if(!pTimer->TimerCtrlRun()) //如果定時器運行失敗就退出線程
{
_endthread();//刪除線程
return;
}
Sleep(20); //睡眠20ms
}

}
/************************************************************************/


/****************************cMyTimer成員函數******************************/
cMyTimer::cMyTimer()
{

}

cMyTimer::~cMyTimer()
{

}

void?cMyTimer::AddTimer(unsigned?timerIDunsigned?timeElapseint?iParamstring?strParam)
{//添加定時器,啟動定時器線程

if(timeElapse==0)
{//如果定時器時間間隔為0,直接返回
return;
}

//通過傳入參數,構造一個定時器數據
stTimer?stTimerTemp; //定時器結構體
stTimerTemp.timerID=timerID;
stTimerTemp.timeElapse=timeElapse;
stTimerTemp.iParam=iParam;
stTimerTemp.strParam=strParam;
stTimerTemp.timeLastRun=::GetTickCount(); //當前時間(相對的不是絕對的哦)

//將構造的定時器加入到定時器列表中
m_listTimer.push_back(stTimerTemp);

//如果是第一個定時器就創建一個新的線程,其它的都跟第一個共一個線程,無需新建線程。
if(m_listTimer.size()==1)
{
//第一參數:是線程的回調函數,第三個參數:是回調函數的參數
_beginthread(CallBack_TimerProc0this);?//創建定時器線程以用來運行定時器
}
}

bool?cMyTimer::TimerCtrlRun()
{//判斷、控制定時器的運行
if(m_listTimer.size()==0)
{//定時器列表為空,即沒有定時器時
return?false;
}

//判斷、運行定時器。
unsigned?timeNow=GetTickCount(); //獲取當前時間
itListTimer?it=m_listTimer.begin(); //定義定時器列表迭代器
for(?;?it!=m_listTimer.end();it++) //遍歷每個定時器,
{
//比較定時器上次運行的時間和當前時間差是否大于等于timeElapse
if((timeNow-it->timeLastRun)?>=?it->timeElapse)
{//如果大于,就運行定時器;如果小于就不運行。
it->timeLastRun?=?timeNow;

unsigned?ret=OnTimer(it->timerIDit->iParamit->strParam);
//如果OnTimer()返回0,執行完這次后銷毀該定時器。
if(ret==0)
{
//改變定時器的銷毀狀態為true
it->bDel=true;
}
/*else?if(ret>1000)
{//根據定時器返回值修改定時器間隔
it->timeElapse=ret;
}*/
}
}
return?true;
}

void?cMyTimer::CheckDelTimer()
{//檢測、刪除bDel狀態為TRUE的定時器
itListTimer?it=m_listTimer.begin();
for(?;it!=m_listTimer.end();?)
{
if(it->bDel)
{
it=m_listTimer.erase(it);//刪除定時器
continue;
}
it++;
}
}

void?cMyTimer::DeletTimer(unsigned?timerID)
{
itListTimer?it=m_listTimer.begin();
for(?;it!=m_listTimer.end();?it++)
{
if(it->timerID==timerID)
{
it->bDel=true;
return;
}
}
}
/************************************************************************/

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-02-12?15:19??RunningMan\
?????目錄???????????0??2017-02-10?12:26??RunningMan\Debug\
?????目錄???????????0??2017-02-06?08:12??RunningMan\Debug\images\
?????文件???????13734??2015-12-08?16:06??RunningMan\Debug\images\baseplate.bmp
?????文件??????615478??2015-12-06?15:32??RunningMan\Debug\images\bg.bmp
?????文件???????13366??2015-12-08?15:43??RunningMan\Debug\images\gold.bmp
?????文件???????57462??2015-12-08?15:10??RunningMan\Debug\images\playerFall.bmp
?????文件???????56910??2015-12-08?11:21??RunningMan\Debug\images\playerJump.bmp
?????文件???????57462??2015-12-08?15:10??RunningMan\Debug\images\playerRoll0.bmp
?????文件???????57462??2015-12-08?15:11??RunningMan\Debug\images\playerRoll1.bmp
?????文件???????57462??2015-12-08?15:11??RunningMan\Debug\images\playerRoll2.bmp
?????文件???????57462??2015-12-08?11:03??RunningMan\Debug\images\playerRun0.bmp
?????文件???????57462??2015-12-08?11:04??RunningMan\Debug\images\playerRun1.bmp
?????文件???????57462??2015-12-08?11:05??RunningMan\Debug\images\playerRun2.bmp
?????文件???????57462??2015-12-08?11:05??RunningMan\Debug\images\playerRun3.bmp
?????文件???????57462??2015-12-08?11:05??RunningMan\Debug\images\playerRun4.bmp
?????文件???????57462??2015-12-08?11:05??RunningMan\Debug\images\playerRun5.bmp
?????文件???????57462??2015-12-08?15:20??RunningMan\Debug\images\playerSlip.bmp
?????文件???????76934??2015-12-08?15:29??RunningMan\Debug\images\post.bmp
?????文件??????134144??2017-02-10?13:10??RunningMan\Debug\RunningMan.exe
?????文件?????1160368??2017-02-10?13:10??RunningMan\Debug\RunningMan.ilk
?????文件?????2461696??2017-02-10?13:10??RunningMan\Debug\RunningMan.pdb
?????目錄???????????0??2017-02-05?20:53??RunningMan\ipch\
?????目錄???????????0??2017-02-05?20:53??RunningMan\ipch\runningman-7a3e600d\
?????文件????20578304??2017-02-10?12:40??RunningMan\ipch\runningman-7a3e600d\runningman-d3012be9.ipch
?????目錄???????????0??2017-02-10?13:10??RunningMan\RunningMan\
?????文件????33226752??2017-02-10?13:14??RunningMan\RunningMan.sdf
?????文件?????????976??2017-02-05?20:53??RunningMan\RunningMan.sln
?????文件???????30208??2017-02-10?13:14??RunningMan\RunningMan.v12.suo
?????文件????????3051??2016-12-01?18:28??RunningMan\RunningMan\cMyTimer.cpp
?????文件????????2015??2016-12-03?10:55??RunningMan\RunningMan\cMyTimer.h
............此處省略54個文件信息

評論

共有 條評論