本文整理汇总了C++中KillGameTimer函数的典型用法代码示例。如果您正苦于以下问题:C++ KillGameTimer函数的具体用法?C++ KillGameTimer怎么用?C++ KillGameTimer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了KillGameTimer函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: memset
//重置框架
void CGameClientDlg::ResetGameFrame()
{
//游戏变量
m_bHandCardCount=0;
m_wBanker=INVALID_CHAIR;
memset(m_bCardCount,0,sizeof(m_bCardCount));
memset(m_bHandCardData,0,sizeof(m_bHandCardData));
//出牌变量
m_bTurnCardCount=0;
m_bTurnOutType=CT_INVALID;
memset(m_bTurnCardData,0,sizeof(m_bTurnCardData));
for(BYTE i=0;i<GAME_PLAYER;i++)
{
memset(m_bZhanPaiData[i],0,sizeof(m_bZhanPaiData[i]));
ZeroMemory(m_bForeCard[i],sizeof(BYTE)*16);
ZeroMemory(m_bForCardItem[i],sizeof(tagCardItem)*16);
}
//辅助变量
m_wTimeOutCount=0;
m_wMostUser=INVALID_CHAIR;
//删除定时
KillGameTimer(0);
KillTimer(IDI_MOST_CARD);
return;
}
开发者ID:Michael-Z,项目名称:qipai-game,代码行数:31,代码来源:GameClientDlg.cpp
示例2: ASSERT
//用户掀牌
bool CGameClientDlg::OnSubXianPai(const void * pBuffer, WORD wDataSize)
{
//效验数据
ASSERT(wDataSize==sizeof(CMD_S_User_XianPai));
if (wDataSize!=sizeof(CMD_S_User_XianPai)) return false;
//消息处理
CMD_S_User_XianPai * pXianPai=(CMD_S_User_XianPai *)pBuffer;
m_GameClientView.ShowXianPaiTitle(SW_NORMAL,SwitchViewChairID(pXianPai->wXianPaiUserID));
m_GameClientView.HideAllTitle(false,INVALID_CHAIR);
//设置界面
m_GameClientView.SetIncreaseXian(SwitchViewChairID(pXianPai->wXianPaiUserID));
if(pXianPai->wCurrentUser==GetMeChairID())
{
ActiveGameFrame();
m_GameClientView.m_btAutoOutCard.ShowWindow(SW_NORMAL);
m_GameClientView.m_btOutCard.ShowWindow(SW_NORMAL);
//设置被掀次数
m_GameClientView.SetIncreaseBeiXian(SwitchViewChairID(GetMeChairID()));
}
//设置定时器
KillGameTimer(IDI_OUT_CARD);
SetGameTimer(pXianPai->wCurrentUser,IDI_OUT_CARD,30);
return true;
}
开发者ID:Michael-Z,项目名称:qipai-game,代码行数:27,代码来源:GameClientDlg.cpp
示例3:
//开始按钮
LRESULT CGameClientDlg::OnStart(WPARAM wParam, LPARAM lParam)
{
//删除定时器
if(!IsLookonMode())KillGameTimer(IDI_START_GAME);
//设置界面
m_GameClientView.DisplayType(false);
m_GameClientView.SetBankerUser(INVALID_CHAIR);
m_GameClientView.m_btStart.ShowWindow(SW_HIDE);
m_GameClientView.m_ScoreView.ShowWindow(SW_HIDE);
m_GameClientView.SetUserTableScore(INVALID_CHAIR,0L);
for (WORD i=0;i<GAME_PLAYER;i++)
{
m_GameClientView.ShowScore(i,false);
m_GameClientView.m_CardControl[i].SetOX(false);
m_GameClientView.SetUserOxValue(i,0xff);
m_GameClientView.m_CardControl[i].SetCardData(NULL,0);
if(i!=m_wViewChairID[GetMeChairID()])m_GameClientView.m_CardControl[i].SetDisplayFlag(false);
m_GameClientView.m_CardControlOx[i].SetCardData(NULL,0);
}
//加注信息
m_lTurnMaxScore=0L;
//m_lTurnLessScore=0L;m_cbHandCardData
ZeroMemory(m_lTableScore,sizeof(m_lTableScore));
ZeroMemory(m_bUserOxCard,sizeof(m_bUserOxCard));
ZeroMemory(m_cbHandCardData,sizeof(m_cbHandCardData));
//发送消息
if(!IsLookonMode())SendUserReady(NULL,0);
return 0;
}
开发者ID:anyboo,项目名称:project,代码行数:35,代码来源:GameClientDlg.cpp
示例4: KillGameTimer
//扑克操作
LRESULT CGameClientDlg::OnCardOperate(WPARAM wParam, LPARAM lParam)
{
//变量定义
BYTE cbOperateCode=(BYTE)(wParam);
BYTE cbOperateCard=(BYTE)(LOWORD(lParam));
//状态判断
if ((m_wCurrentUser==GetMeChairID())&&(cbOperateCode==WIK_NULL))
{
m_GameClientView.m_ControlWnd.ShowWindow(SW_HIDE);
return 0;
}
//删除时间
KillGameTimer(IDI_OPERATE_CARD);
//环境设置
m_GameClientView.SetStatusFlag(false,true);
m_GameClientView.m_ControlWnd.ShowWindow(SW_HIDE);
//发送命令
CMD_C_OperateCard OperateCard;
OperateCard.cbOperateCode=cbOperateCode;
OperateCard.cbOperateCard=cbOperateCard;
SendData(SUB_C_OPERATE_CARD,&OperateCard,sizeof(OperateCard));
return 0;
}
开发者ID:codercold,项目名称:whgame,代码行数:29,代码来源:GameClientDlg.cpp
示例5: KillGameTimer
//放弃出牌
LRESULT CGameClientDlg::OnPassCard(WPARAM wParam, LPARAM lParam)
{
//状态判断
if (m_GameClientView.m_btPassCard.IsWindowEnabled()==FALSE) return 0;
//设置界面
KillGameTimer(IDI_OUT_CARD);
m_GameClientView.m_btOutCard.ShowWindow(SW_HIDE);
m_GameClientView.m_btOutCard.EnableWindow(FALSE);
m_GameClientView.m_btPassCard.ShowWindow(SW_HIDE);
m_GameClientView.m_btPassCard.EnableWindow(FALSE);
m_GameClientView.m_btOutPrompt.ShowWindow(SW_HIDE);
m_GameClientView.m_btOutPrompt.EnableWindow(FALSE);
//发送数据
SendData(SUB_C_PASS_CARD);
//预先显示
m_GameClientView.m_UserCardControl[2].SetCardData(NULL,0);
m_GameClientView.SetPassFlag(2,true);
PlayGameSound(AfxGetInstanceHandle(),TEXT("OUT_CARD"));
m_GameClientView.m_HandCardControl.SetCardData(m_bHandCardData,m_bHandCardCount);
return 0;
}
开发者ID:275958081,项目名称:netfox,代码行数:26,代码来源:GameClientDlg.cpp
示例6: ASSERT
//设置定时器
bool __cdecl CClientKernel::SetGameTimer(WORD wChairID, UINT nTimerID, UINT nElapse)
{
//效验参数
ASSERT(m_hWnd!=NULL);
ASSERT(m_pIClientKernelSink!=NULL);
if (m_pIClientKernelSink==NULL) return false;
//逻辑处理
if (m_nTimerID!=0L) KillGameTimer(m_nTimerID);
if ((wChairID<m_ServerAttribute.wChairCount)&&(nElapse>0L))
{
//设置变量
m_nTimerID=nTimerID;
m_nElapseCount=nElapse;
m_wTimerChairID=wChairID;
//设置界面
SetTimer(nTimerID,1000,NULL);
m_pIClientKernelSink->OnEventTimer(m_wTimerChairID,nElapse,nTimerID);
return true;
}
return false;
}
开发者ID:codercold,项目名称:whgame,代码行数:26,代码来源:ClientKernel.cpp
示例7: switch
//时间消息
bool CGameClientDlg::OnTimerMessage(WORD wChairID, UINT nElapse, UINT nTimerID)
{
switch(nTimerID)
{
case IDI_START_GAME:
{
if (nElapse==0)
{
if ((IsLookonMode()==false)&&(wChairID==GetMeChairID()))
PostMessage(WM_CLOSE,0,0);
return true;
}
if ((nElapse<=3)&&(wChairID==GetMeChairID())&&(IsLookonMode()==false))
PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_WARN"));
return true;
}
case IDI_USER_ADD_SCORE:
{
if (nElapse==0)
{
if ((IsLookonMode()==false)&&(wChairID==GetMeChairID()))
{
//删除定时器
KillGameTimer(IDI_USER_ADD_SCORE);
OnGiveUp(0,0);
}
return true;
}
if ((nElapse<=3)&&(wChairID==GetMeChairID())&&(IsLookonMode()==false))
PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_WARN"));
return true;
}
}
return false;
}
开发者ID:Michael-Z,项目名称:qipai-game,代码行数:36,代码来源:GameClientDlg.cpp
示例8: memset
//重置框架
void CGameClientDlg::ResetGameFrame()
{
//游戏变量
m_bHandCardCount=0;
m_bHintCardCount=0;
memset(m_bCardCount,0,sizeof(m_bCardCount));
memset(m_bHandCardData,0,sizeof(m_bHandCardData));
//出牌变量
m_bTurnCardCount=0;
m_bTurnOutType=CT_INVALID;
memset(m_bTurnCardData,0,sizeof(m_bTurnCardData));
memset(m_bHandCardData,0,sizeof(m_bHintCardData));
//辅助变量
m_wTimeOutCount=0;
m_wMostUser=INVALID_CHAIR;
//删除定时
KillGameTimer(0);
KillTimer(IDI_MOST_CARD);
return;
}
开发者ID:Michael-Z,项目名称:qipai-game,代码行数:26,代码来源:GameClientDlg.cpp
示例9: memset
//开始按钮
LRESULT CGameClientDlg::OnStart(WPARAM wParam, LPARAM lParam)
{
//设置变量
m_wTimeOutCount=0;
m_bHandCardCount=0;
m_bTurnCardCount=0;
m_bTurnOutType=CT_ERROR;
m_wMostUser=INVALID_CHAIR;
memset(m_bHandCardData,0,sizeof(m_bHandCardData));
memset(m_bTurnCardData,0,sizeof(m_bTurnCardData));
//设置界面
KillGameTimer(IDI_START_GAME);
m_GameClientView.SetCardCount(INVALID_CHAIR,0);
m_GameClientView.SetPassFlag(INVALID_CHAIR,false);
//隐藏控件
m_GameClientView.m_btStart.ShowWindow(FALSE);
m_GameClientView.m_ScoreView.ShowWindow(SW_HIDE);
//设置扑克
m_GameClientView.m_HandCardControl.SetCardData(NULL,0);
m_GameClientView.m_HandCardControl.SetPositively(false);
m_GameClientView.m_LeaveCardControl[0].SetCardData(NULL,0);
m_GameClientView.m_LeaveCardControl[1].SetCardData(NULL,0);
m_GameClientView.m_LeaveCardControl[2].SetCardData(NULL,0);
for (WORD i=0;i<GAME_PLAYER;i++) m_GameClientView.m_UserCardControl[i].SetCardData(NULL,0);
//发送消息
SendUserReady(NULL,0);
return 0;
}
开发者ID:275958081,项目名称:netfox,代码行数:34,代码来源:GameClientDlg.cpp
示例10: UpdateScoreControl
//加注按钮
LRESULT CGameClientDlg::OnAddScore(WPARAM wParam, LPARAM lParam)
{
//取消按钮
if( lParam == -1 )
{
UpdateScoreControl();
return 0;
}
else if( lParam == 0 )
{
//不加或跟注
return OnFollow(0,0);
}
//获取筹码
WORD wMeChairID=GetMeChairID();
LONG lCurrentScore=m_lTurnLessScore-m_lTableScore[wMeChairID*2+1]+m_lCellScore*(lParam);
//加注设置
m_bAddScore=true;
HideScoreControl();
m_GameClientView.m_PlayerJeton[2].SetScore(lCurrentScore);
//界面设置
KillGameTimer(IDI_USER_ADD_SCORE);
m_GameClientView.UpdateGameView(NULL);
PlayGameSound(AfxGetInstanceHandle(),TEXT("ADD_SCORE"));
//发送消息
CMD_C_AddScore AddScore;
AddScore.lScore=lCurrentScore;
SendData(SUB_C_ADD_SCORE,&AddScore,sizeof(AddScore));
return 0;
}
开发者ID:Michael-Z,项目名称:qipai-game,代码行数:36,代码来源:GameClientDlg.cpp
示例11: HideScoreControl
//用户放弃
bool CGameClientDlg::OnSubGiveUp(const void * pBuffer, WORD wDataSize)
{
//效验数据
if (wDataSize!=sizeof(CMD_S_GiveUp)) return false;
CMD_S_GiveUp * pGiveUp=(CMD_S_GiveUp *)pBuffer;
//设置变量
m_cbPlayStatus[pGiveUp->wGiveUpUser]=FALSE;
//变量定义
WORD wGiveUpUser=pGiveUp->wGiveUpUser;
BYTE cbCardData[MAX_COUNT]={0,0,0,0,0};
WORD wViewChairID=SwitchViewChairID(wGiveUpUser);
BYTE cbCardCount=(BYTE)m_GameClientView.m_CardControl[wViewChairID].GetCardCount();
//设置扑克
m_GameClientView.m_CardControl[wViewChairID].SetPositively(false);
m_GameClientView.m_CardControl[wViewChairID].SetDisplayHead(false);
m_GameClientView.m_CardControl[wViewChairID].SetCardData(cbCardData,cbCardCount);
//状态设置
if ((IsLookonMode()==false)&&(pGiveUp->wGiveUpUser==GetMeChairID()))
{
HideScoreControl();
SetGameStatus(GS_FREE);
}
//环境设置
if (wGiveUpUser==GetTimeChairID()) KillGameTimer(IDI_USER_ADD_SCORE);
if ((IsLookonMode()==true)||(wGiveUpUser!=GetMeChairID())) PlayGameSound(AfxGetInstanceHandle(),TEXT("GIVE_UP"));
return true;
}
开发者ID:Michael-Z,项目名称:qipai-game,代码行数:34,代码来源:GameClientDlg.cpp
示例12: KillGameTimer
//自动出牌
bool CGameClientDlg::AutomatismOutCard()
{
//先出牌者
if (m_bTurnCardCount==0)
{
//控制界面
KillGameTimer(IDI_OUT_CARD);
m_GameClientView.m_btOutCard.ShowWindow(SW_HIDE);
m_GameClientView.m_btOutCard.EnableWindow(FALSE);
m_GameClientView.m_btPassCard.ShowWindow(SW_HIDE);
m_GameClientView.m_btPassCard.EnableWindow(FALSE);
m_GameClientView.m_btAutoOutCard.ShowWindow(SW_HIDE);
m_GameClientView.m_btAutoOutCard.EnableWindow(FALSE);
//发送数据
CMD_C_OutCard OutCard;
OutCard.bCardCount=1;
OutCard.bCardData[0]=m_bHandCardData[m_bHandCardCount-1];
SendData(SUB_C_OUT_CART,&OutCard,sizeof(OutCard)-sizeof(OutCard.bCardData)+OutCard.bCardCount*sizeof(BYTE));
//预先处理
PlayGameSound(AfxGetInstanceHandle(),TEXT("OUT_CARD"));
m_GameClientView.m_UserCardControl[1].SetCardData(OutCard.bCardData,OutCard.bCardCount);
//预先删除
BYTE bSourceCount=m_bHandCardCount;
m_bHandCardCount-=OutCard.bCardCount;
m_GameLogic.RemoveCard(OutCard.bCardData,OutCard.bCardCount,m_bHandCardData,bSourceCount);
m_GameClientView.m_HandCardControl.SetCardData(m_bHandCardData,m_bHandCardCount);
}
else OnPassCard(0,0);
return true;
}
开发者ID:275958081,项目名称:netfox,代码行数:35,代码来源:GameClientDlg.cpp
示例13: lstrcpyn
//用户叫庄
bool CGameClientDlg::OnSubCallBanker(const void * pBuffer, WORD wDataSize)
{
//效验数据
if (wDataSize!=sizeof(CMD_S_CallBanker)) return false;
CMD_S_CallBanker * pCallBanker=(CMD_S_CallBanker *)pBuffer;
//首次叫庄
if(pCallBanker->bFirstTimes)
{
//用户信息
for (WORD i=0;i<GAME_PLAYER;i++)
{
//视图位置
m_wViewChairID[i]=SwitchViewChairID(i);
//获取用户
const tagUserData * pUserData=GetUserData(i);
if (pUserData==NULL) continue;
//游戏信息
m_cbPlayStatus[i]=TRUE;
//用户名字
lstrcpyn(m_szAccounts[i],pUserData->szName,CountArray(m_szAccounts[i]));
}
//旁观者清理数据
if (IsLookonMode()) OnStart(0,0);
}
//删除定时器/按钮
if(m_GameClientView.m_btIdler.IsWindowVisible()==TRUE)
{
KillGameTimer(IDI_CALL_BANKER);
m_GameClientView.m_btIdler.ShowWindow(SW_HIDE);
m_GameClientView.m_btBanker.ShowWindow(SW_HIDE);
}
//用户控件显示
if(IsCurrentUser(pCallBanker->wCallBanker))
{
m_GameClientView.m_btBanker.ShowWindow(SW_SHOW);
m_GameClientView.m_btIdler.ShowWindow(SW_SHOW);
}
//等待标志
WORD wViewID=m_wViewChairID[pCallBanker->wCallBanker];
m_GameClientView.SetWaitCall((BYTE)wViewID);
//实际定时器
if(pCallBanker->wCallBanker==GetMeChairID())
{
SetGameTimer(pCallBanker->wCallBanker,IDI_CALL_BANKER,TIME_USER_CALL_BANKER);
}
else SetGameTimer(pCallBanker->wCallBanker,IDI_NULLITY,TIME_USER_CALL_BANKER);
return true;
}
开发者ID:anyboo,项目名称:project,代码行数:59,代码来源:GameClientDlg.cpp
示例14: switch
//时间消息
bool CGameClientDlg::OnTimerMessage(WORD wChairID, UINT nElapse, UINT nTimerID)
{
switch (nTimerID)
{
case IDI_START_GAME: //开始定时器
{
//中止判断
if (nElapse==0)
{
PostMessage(WM_CLOSE,0,0);
return false;
}
//警告通知
//if (nElapse<=5) PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_WARN"));
if(nElapse%5==0)
{
if(!IsEnableSound())
m_DTSDBackground.Stop();
}
return true;
}
case IDI_NULLITY: //过滤时器
{
//中止判断
if (nElapse==0)
{
KillGameTimer(IDI_NULLITY);
return false;
}
//警告通知
//if (nElapse<=5) PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_WARN"));
return true;
}
case IDI_CALL_BANKER: //叫庄定时
{
//中止判断
if (nElapse==0)
{
//测试代码
//放弃做庄
OnBanker(0,0);
return false;
}
//警告通知
//if (nElapse<=5) PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_WARN"));
return true;
}
}
return false;
}
开发者ID:anyboo,项目名称:project,代码行数:57,代码来源:GameClientDlg.cpp
示例15: KillGameTimer
//游戏开始
bool CGameClientDlg::OnSubGameStart(const void * pBuffer, WORD wDataSize)
{
//效验数据
if (wDataSize!=sizeof(CMD_S_GameStart)) return false;
CMD_S_GameStart * pGameStart=(CMD_S_GameStart *)pBuffer;
//删除定时器/按钮
if(m_GameClientView.m_btIdler.IsWindowVisible()==TRUE)
{
KillGameTimer(IDI_CALL_BANKER);
m_GameClientView.m_btIdler.ShowWindow(SW_HIDE);
m_GameClientView.m_btBanker.ShowWindow(SW_HIDE);
}
//设置变量
m_lTurnMaxScore=pGameStart->lTurnMaxScore;
m_wBankerUser=pGameStart->wBankerUser;
m_GameClientView.SetWaitCall(0xff);
//设置筹码
if (!IsLookonMode() && pGameStart->lTurnMaxScore>0)
{
LONGLONG lUserMaxScore[GAME_PLAYER];
ZeroMemory(lUserMaxScore,sizeof(lUserMaxScore));
LONGLONG lTemp=m_lTurnMaxScore;
for (WORD i=0;i<GAME_PLAYER;i++)
{
if(i>0)lTemp/=2;
lUserMaxScore[i]=__max(lTemp,1L);
}
//更新控件
//ActiveGameFrame();
UpdateScoreControl(lUserMaxScore,SW_SHOW);
//实际定时器
SetTimer(IDI_TIME_USER_ADD_SCORE,(TIME_USER_ADD_SCORE)*1000,NULL);
}
//庄家标志
WORD wID=m_wViewChairID[m_wBankerUser];
m_GameClientView.SetBankerUser(wID);
//等待标志
m_GameClientView.SetWaitInvest(true);
//辅助显示中心时钟
SetGameTimer(GetMeChairID(),IDI_NULLITY,TIME_USER_ADD_SCORE);
//环境设置
PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_START"));
return true;
}
开发者ID:anyboo,项目名称:project,代码行数:55,代码来源:GameClientDlg.cpp
示例16: KillGameTimer
//放弃按钮
LRESULT CGameClientDlg::OnGiveUp(WPARAM wParam, LPARAM lParam)
{
//界面设置
KillGameTimer(IDI_USER_ADD_SCORE);
PlayGameSound(AfxGetInstanceHandle(),TEXT("GIVE_UP"));
//发送消息
SendData(SUB_C_GIVE_UP);
HideScoreControl();
return 0;
}
开发者ID:Michael-Z,项目名称:qipai-game,代码行数:14,代码来源:GameClientDlg.cpp
示例17: KillGameTimer
//析构函数
CAndroidUserItem::~CAndroidUserItem()
{
//删除时间
KillGameTimer(0);
//释放对象
if (m_pIAndroidUserItemSink!=NULL)
{
m_pIAndroidUserItemSink->Release();
m_pIAndroidUserItemSink=NULL;
}
return;
}
开发者ID:firehot,项目名称:WH2008,代码行数:15,代码来源:AndroidUserItem.cpp
示例18: ASSERT
//用户出牌
bool CGameClientDlg::OnSubOutCard(const void * pBuffer, WORD wDataSize)
{
//效验消息
ASSERT(wDataSize==sizeof(CMD_S_OutCard));
if (wDataSize!=sizeof(CMD_S_OutCard)) return false;
//消息处理
CMD_S_OutCard * pOutCard=(CMD_S_OutCard *)pBuffer;
//变量定义
WORD wMeChairID=GetMeChairID();
WORD wOutViewChairID=SwitchViewChairID(pOutCard->wOutCardUser);
//设置变量
m_wCurrentUser=INVALID_CHAIR;
m_wOutCardUser=pOutCard->wOutCardUser;
m_cbOutCardData=pOutCard->cbOutCardData;
//其他用户
if ((IsLookonMode()==true)||(pOutCard->wOutCardUser!=wMeChairID))
{
//环境设置
KillGameTimer(IDI_OPERATE_CARD);
PlayCardSound(pOutCard->wOutCardUser,pOutCard->cbOutCardData);
//出牌界面
m_GameClientView.SetUserAction(INVALID_CHAIR,0);
m_GameClientView.SetOutCardInfo(wOutViewChairID,pOutCard->cbOutCardData);
//设置扑克
if (wOutViewChairID==2)
{
//删除扑克
BYTE cbCardData[MAX_COUNT];
m_GameLogic.RemoveCard(m_cbCardIndex,pOutCard->cbOutCardData);
//设置扑克
BYTE cbCardCount=m_GameLogic.SwitchToCardData(m_cbCardIndex,cbCardData);
m_GameClientView.m_HandCardControl.SetCardData(cbCardData,cbCardCount,0);
}
else
{
WORD wUserIndex=(wOutViewChairID>2)?2:wOutViewChairID;
m_GameClientView.m_UserCard[wUserIndex].SetCurrentCard(false);
}
}
return true;
}
开发者ID:codercold,项目名称:whgame,代码行数:50,代码来源:GameClientDlg.cpp
示例19: OnTimer
//时间消息
void CClientKernel::OnTimer(UINT nIDEvent)
{
//时间处理
if ((m_nTimerID==nIDEvent)&&(m_wTimerChairID!=INVALID_CHAIR))
{
//消息处理
if (m_nElapseCount>0) m_nElapseCount--;
bool bSuccess=m_pIClientKernelSink->OnEventTimer(m_wTimerChairID,m_nElapseCount,m_nTimerID);
if ((m_nElapseCount==0)||(bSuccess==false)) KillGameTimer(m_nTimerID);
return;
}
__super::OnTimer(nIDEvent);
}
开发者ID:codercold,项目名称:whgame,代码行数:16,代码来源:ClientKernel.cpp
示例20: InsertSystemString
//出牌操作
LRESULT CGameClientDlg::OnOutCard(WPARAM wParam, LPARAM lParam)
{
//出牌判断
if ((IsLookonMode()==true)||(m_wCurrentUser!=GetMeChairID()))
return 0;
//听牌判断
if (((m_bHearStatus==true)||(m_bWillHearStatus==true))&&(VerdictOutCard((BYTE)wParam)==false))
{
InsertSystemString(TEXT("出此牌不符合游戏规则!"));
return 0;
}
//听牌设置
if (m_bWillHearStatus==true)
{
m_bHearStatus=true;
m_bWillHearStatus=false;
}
//设置变量
m_wCurrentUser=INVALID_CHAIR;
BYTE cbOutCardData=(BYTE)wParam;
m_GameLogic.RemoveCard(m_cbCardIndex,cbOutCardData);
//设置扑克
BYTE cbCardData[MAX_COUNT];
BYTE cbCardCount=m_GameLogic.SwitchToCardData(m_cbCardIndex,cbCardData);
m_GameClientView.m_HandCardControl.SetCardData(cbCardData,cbCardCount,0);
//设置界面
KillGameTimer(IDI_OPERATE_CARD);
m_GameClientView.UpdateGameView(NULL);
m_GameClientView.SetStatusFlag(false,false);
m_GameClientView.SetUserAction(INVALID_CHAIR,0);
m_GameClientView.SetOutCardInfo(2,cbOutCardData);
m_GameClientView.m_ControlWnd.ShowWindow(SW_HIDE);
//播放声音
PlayCardSound(GetMeChairID(),cbOutCardData);
//发送数据
CMD_C_OutCard OutCard;
OutCard.cbCardData=cbOutCardData;
SendData(SUB_C_OUT_CARD,&OutCard,sizeof(OutCard));
return 0;
}
开发者ID:codercold,项目名称:whgame,代码行数:49,代码来源:GameClientDlg.cpp
注:本文中的KillGameTimer函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论