本文整理汇总了C++中IsLookonMode函数的典型用法代码示例。如果您正苦于以下问题:C++ IsLookonMode函数的具体用法?C++ IsLookonMode怎么用?C++ IsLookonMode使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IsLookonMode函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ZeroMemory
//开始按钮
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;
}
示例2: switch
//时间消息
bool CGameClientDlg::OnTimerMessage(WORD wChairID, UINT nElapse, UINT nTimerID)
{
switch (nTimerID)
{
case IDI_OUT_CARD: //用户出牌
{
//超时判断
if (nElapse==0)
{
if ((IsLookonMode()==false)&&(wChairID==GetMeChairID())) AutomatismOutCard();
return false;
}
//播放声音
if (m_bHandCardCount<m_bTurnCardCount) return true;
if ((nElapse<=3)&&(wChairID==GetMeChairID())&&(IsLookonMode()==false)) PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_WARN"));
return true;
}
case IDI_START_GAME: //开始游戏
{
if (nElapse==0)
{
if ((IsLookonMode()==false)&&(wChairID==GetMeChairID())) OnStart(0,0);
return false;
}
if ((nElapse<=3)&&(wChairID==GetMeChairID())&&(IsLookonMode()==false)) PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_WARN"));
return true;
}
}
return false;
}
示例3: 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;
}
示例4: 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;
}
示例5: ASSERT
//游戏开始
bool CGameClientDlg::OnSubGameStart(const void * pBuffer, WORD wDataSize)
{
//效验数据
ASSERT(wDataSize==sizeof(CMD_S_GameStart));
if (wDataSize!=sizeof(CMD_S_GameStart)) return false;
//消息处理
CMD_S_GameStart * pGameStart=(CMD_S_GameStart *)pBuffer;
m_wBlackUser=pGameStart->wBlackUser;
m_wCurrentUser=pGameStart->wBlackUser;
m_cbChessColor=(m_wBlackUser==GetMeChairID())?BLACK_CHESS:WHITE_CHESS;
//设置时间
m_wLeftClock[0]=m_wLeftClock[1]=pGameStart->wGameClock;
m_GameClientView.SetGameClock(pGameStart->wGameClock);
m_GameClientView.SetUserClock(SwitchViewChairID(0),m_wLeftClock[0]);
m_GameClientView.SetUserClock(SwitchViewChairID(1),m_wLeftClock[1]);
//设置变量
m_cbXSourcePos=255;
m_cbYSourcePos=255;
m_cbXTargetPos=255;
m_cbYTargetPos=255;
//设置棋盘
m_GameLogic.ResetChessBorad();
m_GameClientView.m_ChessBorad.SetChessColor(m_cbChessColor);
m_GameClientView.m_ChessBorad.SetChessBorad(m_GameLogic.m_ChessBorad);
//设置界面
m_GameClientView.m_btPreserve.EnableWindow(TRUE);
m_GameClientView.m_GameScoreWnd.ShowWindow(SW_HIDE);
m_GameClientView.SetBlackUser(SwitchViewChairID(m_wBlackUser));
//全部玩家
if (IsLookonMode()==false)
{
m_GameClientView.m_btStart.EnableWindow(FALSE);
m_GameClientView.m_btPeace.EnableWindow(TRUE);
m_GameClientView.m_btGiveUp.EnableWindow(TRUE);
}
//玩家设置
if ((IsLookonMode()==false)&&(m_wCurrentUser==GetMeChairID()))
{
ActiveGameFrame();
CancelChessSelect();
m_GameClientView.m_ChessBorad.SetPositively(true);
}
//设置定时器
SetTimer(IDI_GAME_TIMER,1000,NULL);
//播放声音
PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_START"));
return true;
}
示例6: SetGameTimer
//发牌完成
LRESULT CGameClientDlg::OnSendCardFinish(WPARAM wParam, LPARAM lParam)
{
//响应扑克
WORD wMeChairID=GetMeChairID();
if(!IsLookonMode())m_GameClientView.m_CardControl[MY_VIEW_CHAIRID].SetPositively(true);
//设置时间
SetGameTimer(wMeChairID,IDI_NULLITY,TIME_USER_OPEN_CARD);
//过虑观看
if (IsLookonMode())return 0;
//特殊牌型
BYTE bCardType = m_GameLogic.GetCardType(m_cbHandCardData[wMeChairID],MAX_COUNT);
if(bCardType >= OX_THREE_SAME)
{
//提示信息
m_GameClientView.SetUserAction(true);
//用户信息
WORD wViewChairID=m_wViewChairID[wMeChairID];
m_GameClientView.m_CardControl[wViewChairID].ShootAllCard(false);
//发送消息
CMD_C_OxCard OxCard;
OxCard.bOX=TRUE;
SendData(SUB_C_OPEN_CARD,&OxCard,sizeof(OxCard));
//预先处理
m_GameClientView.ShowOpenCard(wViewChairID);
m_GameClientView.m_CardControl[wViewChairID].SetPositively(false);
//显示牌型
m_GameClientView.SetUserOxValue(wViewChairID,bCardType);
//保存牛信息
m_bUserOxCard[wMeChairID]=OxCard.bOX;
return 0;
}
//控件处理
if(!m_GameClientView.m_CardControl[MY_VIEW_CHAIRID].GetKey())
{
m_GameClientView.m_btOx.EnableWindow(FALSE);
}
m_GameClientView.m_btOpenCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btHintOx.ShowWindow(SW_SHOW);
//等待标志
m_GameClientView.m_bOpenCard=true;
//时间设置
SetTimer(IDI_TIME_OPEN_CARD,TIME_USER_OPEN_CARD*1000,NULL);
return 0;
}
示例7: KillGameTimer
//放弃出牌
bool CGameClientDlg::OnSubPassCard(const void * pBuffer, WORD wDataSize)
{
//效验数据
if (wDataSize!=sizeof(CMD_S_PassCard)) return false;
CMD_S_PassCard * pPassCard=(CMD_S_PassCard *)pBuffer;
//删除定时器
KillGameTimer(IDI_OUT_CARD);
//玩家设置
if ((IsLookonMode()==true)||(pPassCard->wPassUser!=GetMeChairID()))
{
WORD wViewChairID=SwitchViewChairID(pPassCard->wPassUser);
m_GameClientView.SetPassFlag(wViewChairID,true);
m_GameClientView.m_UserCardControl[wViewChairID].SetCardData(NULL,0);
}
//一轮判断
if (pPassCard->bNewTurn==TRUE)
{
m_bTurnCardCount=0;
m_bTurnOutType=CT_ERROR;
memset(m_bTurnCardData,0,sizeof(m_bTurnCardData));
}
//设置界面
WORD wViewChairID=SwitchViewChairID(pPassCard->wCurrentUser);
m_GameClientView.SetPassFlag(wViewChairID,false);
m_GameClientView.m_UserCardControl[wViewChairID].SetCardData(NULL,0);
//玩家设置
if ((IsLookonMode()==false)&&(pPassCard->wCurrentUser==GetMeChairID()))
{
ActiveGameFrame();
m_GameClientView.m_btOutCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btPassCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btOutPrompt.ShowWindow(SW_SHOW);
m_GameClientView.m_btPassCard.EnableWindow((m_bTurnCardCount>0)?TRUE:FALSE);
m_GameClientView.m_btOutCard.EnableWindow((VerdictOutCard()==true)?TRUE:FALSE);
m_GameClientView.m_btOutPrompt.EnableWindow(m_bTurnCardCount>0?TRUE:FALSE);
}
//播放声音
if ((IsLookonMode()==true)||(pPassCard->wPassUser!=GetMeChairID())) PlayGameSound(AfxGetInstanceHandle(),TEXT("OUT_CARD"));
//设置时间
if (m_bTurnCardCount!=0)
{
WORD wTimeCount=30;
if (m_GameClientView.m_btPassCard.IsWindowEnabled()) wTimeCount=10;
SetGameTimer(pPassCard->wCurrentUser,IDI_OUT_CARD,wTimeCount);
}
else SetGameTimer(pPassCard->wCurrentUser,IDI_OUT_CARD,30);
return true;
}
示例8: ASSERT
//发送扑克
bool CGameClientDlg::OnSubSendCard(const void * pBuffer, WORD wDataSize)
{
//效验数据
ASSERT(wDataSize==sizeof(CMD_S_SendCard));
if (wDataSize!=sizeof(CMD_S_SendCard)) return false;
//变量定义
CMD_S_SendCard * pSendCard=(CMD_S_SendCard *)pBuffer;
//设置数据
m_bHandCardCount=CountArray(pSendCard->bCardData);
CopyMemory(m_bHandCardData,pSendCard->bCardData,sizeof(pSendCard->bCardData));
for (WORD i=0;i<GAME_PLAYER;i++) m_bCardCount[i]=CountArray(pSendCard->bCardData);
//设置界面
for (WORD i=0;i<GAME_PLAYER;i++)
{
m_GameClientView.SetLandScore(i,0);
m_GameClientView.SetPassFlag(i,false);
m_GameClientView.SetCardCount(i,m_bCardCount[i]);
m_GameClientView.m_UserCardControl[i].SetCardData(NULL,0);
}
if (IsLookonMode()==true)
{
m_GameClientView.SetLandUser(INVALID_CHAIR,0);
m_GameClientView.m_ScoreView.ShowWindow(SW_HIDE);
m_GameClientView.m_LeaveCardControl[0].SetCardData(NULL,0);
m_GameClientView.m_LeaveCardControl[1].SetCardData(NULL,0);
}
m_GameClientView.ShowLandTitle(true);
m_GameClientView.SetBombTime(m_wBombTime);
//设置扑克
BYTE bBackCard[LEFT_CARD_NUM /*3*/]={0,0,0,0};
m_GameClientView.m_HandCardControl.SetCardData(pSendCard->bCardData, ONE_USER_GET_CARD_NUM /*17*/);
m_GameClientView.m_BackCardControl.SetCardData(bBackCard,CountArray(bBackCard));
if (IsLookonMode()==true) m_GameClientView.m_HandCardControl.SetDisplayFlag(false);
//当前玩家
if ((IsLookonMode()==false)&&(pSendCard->wCurrentUser==GetMeChairID()))
{
ActiveGameFrame();
m_GameClientView.m_btOneScore.ShowWindow(SW_SHOW);
m_GameClientView.m_btTwoScore.ShowWindow(SW_SHOW);
m_GameClientView.m_btThreeScore.ShowWindow(SW_SHOW);
m_GameClientView.m_btGiveUpScore.ShowWindow(SW_SHOW);
}
//播放声音
PlayGameSound(AfxGetInstanceHandle(),TEXT("KAI_WA"));
//设置时间
SetGameTimer(pSendCard->wCurrentUser,IDI_LAND_SCORE,30);
return true;
}
示例9: ASSERT
//游戏开始
bool CGameClientDlg::OnSubGameStart(const void * pBuffer, WORD wDataSize)
{
//效验数据
ASSERT(wDataSize==sizeof(CMD_S_SendCard));
if (wDataSize!=sizeof(CMD_S_SendCard)) return false;
//消息处理
CMD_S_SendCard * pGameStart=(CMD_S_SendCard *)pBuffer;
//设置变量
m_bTurnCardCount=0;
m_bTurnOutType=CT_INVALID;
ZeroMemory(m_bTurnCardData,sizeof(m_bTurnCardData));
//设置界面
m_GameClientView.SetCardCount(SwitchViewChairID(pGameStart->wCurrentEnthronement),m_bCardCount[pGameStart->wCurrentEnthronement]);
////地主设置
//if (pGameStart->wCurrentEnthronement==GetMeChairID())
//{
// m_GameClientView.m_HandCardControl.SetCardData(m_bHandCardData,m_bHandCardCount);
//}
//玩家设置
if (IsLookonMode()==false) m_GameClientView.m_HandCardControl.SetPositively(true);
//当前玩家
if ((IsLookonMode()==false)&&(pGameStart->wCurrentUser==GetMeChairID()))
{
ActiveGameFrame();
m_GameClientView.m_btOutCard.EnableWindow(FALSE);
m_GameClientView.m_btOutCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btPassCard.EnableWindow(FALSE);
m_GameClientView.m_btPassCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btAutoOutCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btAutoOutCard.EnableWindow(FALSE);
}
// m_GameClientView.m_LeaveCardControl[0].SetBackCard(m_bCardCount[0]);//.SetCardData(m_GameClientView.m_byZerodata,m_bCardCount[0]);
// m_GameClientView.m_LeaveCardControl[1].SetBackCard(m_bCardCount[1]);//.SetCardData(m_GameClientView.m_byZerodata,m_bCardCount[1]);
//播放声音
PlayGameSound(AfxGetInstanceHandle(),TEXT("GAME_START"));
//设置时间
SetGameTimer(pGameStart->wCurrentUser,IDI_OUT_CARD,30);
m_GameClientView.m_bGamePlaying = true;
return true;
}
示例10: KillTimer
//定时器消息
void CGameClientDlg::OnTimer(UINT nIDEvent)
{
if ((nIDEvent==IDI_MOST_CARD)&&(m_wMostUser!=INVALID_CHAIR))
{
//变量定义
WORD wCurrentUser=m_wMostUser;
m_wMostUser=INVALID_CHAIR;
//删除定时器
KillTimer(IDI_MOST_CARD);
//设置界面
m_GameClientView.SetPassFlag(INVALID_CHAIR,false);
for (WORD i=0;i<GAME_PLAYER;i++) m_GameClientView.m_UserCardControl[i].SetCardData(NULL,0);
//玩家设置
if ((IsLookonMode()==false)&&(wCurrentUser==GetMeChairID()))
{
ActiveGameFrame();
m_GameClientView.m_btOutCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btPassCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btPassCard.EnableWindow(FALSE);
m_GameClientView.m_btAutoOutCard.ShowWindow(SW_SHOW);
m_GameClientView.m_btAutoOutCard.EnableWindow(FALSE);
m_GameClientView.m_btOutCard.EnableWindow((VerdictOutCard()==true)?TRUE:FALSE);
}
//设置时间
SetGameTimer(wCurrentUser,IDI_OUT_CARD,30);
return;
}
__super::OnTimer(nIDEvent);
}
示例11: ZeroMemory
//显示控制
bool CGameClientDlg::ShowOperateControl(BYTE cbUserAction, BYTE cbActionCard)
{
//变量定义
tagGangCardResult GangCardResult;
ZeroMemory(&GangCardResult,sizeof(GangCardResult));
//杠牌判断
if ((cbUserAction&WIK_GANG)!=0)
{
//桌面杆牌
if (cbActionCard!=0)
{
GangCardResult.cbCardCount=1;
GangCardResult.cbCardData[0]=cbActionCard;
}
//自己杆牌
if (cbActionCard==0)
{
WORD wMeChairID=GetMeChairID();
m_GameLogic.AnalyseGangCard(m_cbCardIndex,m_WeaveItemArray[wMeChairID],m_cbWeaveCount[wMeChairID],GangCardResult);
}
}
//显示界面
if (IsLookonMode()==false)
m_GameClientView.m_ControlWnd.SetControlInfo(cbActionCard,cbUserAction,GangCardResult);
return true;
}
示例12: AfxGetApp
//旁观控制
bool __cdecl CClientKernel::AllowUserLookon(DWORD dwUserID, bool bAllowLookon)
{
//设置变量
if (dwUserID==0L)
{
m_bAllowUserLookon=bAllowLookon;
AfxGetApp()->WriteProfileInt(TEXT("GameOption"),TEXT("AllowLookon"),(m_bAllowUserLookon==true)?TRUE:FALSE);
}
//发送消息
if (IsLookonMode()==false)
{
//构造数据
CMD_GF_LookonControl LookonControl;
ZeroMemory(&LookonControl,sizeof(LookonControl));
//设置变量
LookonControl.dwUserID=dwUserID;
LookonControl.bAllowLookon=(bAllowLookon==true)?TRUE:FALSE;
//发送消息
SendSocketData(MDM_GF_FRAME,SUB_GF_LOOKON_CONTROL,&LookonControl,sizeof(LookonControl));
}
return true;
}
示例13: SwitchViewChairID
//连接处理
bool CGameClientDlg::OnSubLink(const void * pBuffer, WORD wDataSize)
{
if (wDataSize!=sizeof(CMD_S_Link)) return false;
CMD_S_Link * pslink=(CMD_S_Link *)pBuffer;
WORD id = SwitchViewChairID(pslink->nCurrentPlayer);
if(id ==2)
{
if(IsLookonMode())
{
m_GameClientView.LinkPro(CPoint(pslink->nFirst_X,pslink->nFirst_Y),
CPoint(pslink->nEnd_X,pslink->nEnd_Y),id);
//播放声音
OnPlayMusic(IDM_MUSIC_LINK,0);
OnPlayMusic(IDM_MUSIC_BOMB,0);
}
else
{
if(pslink->nPropType != ERROR_ALL)
{
m_GameClientView.m_MyListView.m_ImplementCount[pslink->nPropType] = pslink->nPropCount;
m_GameClientView.m_MyListView.UpdateImplementState();
}
}
}
else
{
m_GameClientView.OtherPlayLinkPro(CPoint(pslink->nFirst_X,pslink->nFirst_Y),
CPoint(pslink->nEnd_X,pslink->nEnd_Y),id);
}
return true;
}
示例14: ASSERT
//用户加注
bool CGameClientDlg::OnSubPlaceJetton(const void * pBuffer, WORD wDataSize)
{
//效验数据
ASSERT(wDataSize==sizeof(CMD_S_PlaceJetton));
if (wDataSize!=sizeof(CMD_S_PlaceJetton)) return false;
//消息处理
CMD_S_PlaceJetton * pPlaceJetton=(CMD_S_PlaceJetton *)pBuffer;
//加注界面
m_GameClientView.PlaceUserJetton(pPlaceJetton->cbJettonArea,pPlaceJetton->lJettonScore);
//播放声音
if (IsEnableSound())
{
if (pPlaceJetton->wChairID!=GetMeChairID() || IsLookonMode())
{
if (pPlaceJetton->lJettonScore==5000000) PlayGameSound(AfxGetInstanceHandle(),TEXT("ADD_GOLD_EX"));
else PlayGameSound(AfxGetInstanceHandle(),TEXT("ADD_GOLD"));
m_DTSDCheer[rand()%3].Play();
}
}
return true;
}
示例15: GetUserData
//申请消息
LRESULT CGameClientDlg::OnApplyBanker(WPARAM wParam, LPARAM lParam)
{
//合法判断
tagUserData const *pMeUserData = GetUserData( GetMeChairID() );
if (pMeUserData->lScore < m_lApplyBankerCondition) return true;
//旁观判断
if (IsLookonMode()) return true;
//转换变量
bool bApplyBanker = wParam ? true:false;
//当前判断
if (m_wCurrentBanker == GetMeChairID() && bApplyBanker) return true;
if (bApplyBanker)
{
//发送消息
SendData(SUB_C_APPLY_BANKER, NULL, 0);
m_bMeApplyBanker=true;
}
else
{
//发送消息
SendData(SUB_C_CANCEL_BANKER, NULL, 0);
m_bMeApplyBanker=false;
}
//设置按钮
UpdateButtonContron();
return true;
}