//设置扑克 bool CUpGradeGameCard::SetCard(BYTE bCardList[], BYTE bUpList[], BYTE bCardCount) { if (bCardCount>m_CardArray.GetSize()) m_CardArray.SetSize(bCardCount); if (bCardCount>m_CardUpArray.GetSize()) m_CardUpArray.SetSize(bCardCount); if (bCardList!=NULL) CopyMemory(m_CardArray.GetData(),bCardList,sizeof(BYTE)*bCardCount); if (bUpList!=NULL) CopyMemory(m_CardUpArray.GetData(),bUpList,sizeof(BYTE)*bCardCount); else memset(m_CardUpArray.GetData(),0,sizeof(BYTE)*bCardCount); m_bCardCount=bCardCount; if(((CClientGameDlg*)m_pHandleWnd)->GetGameStatus()==0) FixCardControl(false); else FixCardControl(); return true; }
//设置基准点函数 void CShowHandCard::SetBasePoint(POINT & BasePoint, XShowMode XShowMode, YShowMode YShowMode) { m_XShowMode=XShowMode; m_YShowMode=YShowMode; m_PtBasePoint=BasePoint; FixCardControl(); return; }
//设置扑克 bool CShowHandCard::SetCard(BYTE bCardList[], BYTE bCardCount) { if (bCardCount>m_CardArray.GetSize()) m_CardArray.SetSize(bCardCount); CopyMemory(m_CardArray.GetData(),bCardList,sizeof(BYTE)*bCardCount); m_bCardCount=bCardCount; FixCardControl(); return true; }
//设置扑克参数 void CSmallGameCard::SetCardParameter(int iHSpace, int iVSpace, int iUpSpace) { m_iCardHSpace=iHSpace; m_iCardVSpace=iVSpace; m_iCardUpSpace=iUpSpace; FixCardControl(); return; }
//设置基准点函数 void CSmallGameCard::SetBasePoint(CPoint & BasePoint, XShowMode XShowMode, YShowMode YShowMode) { m_XShowMode=XShowMode; m_YShowMode=YShowMode; m_PtBasePoint=BasePoint; FixCardControl(); return; }
//设置扑克参数 void CUpGradeGameCard::SetCardParameter(int iHSpace, int iVSpace, int iUpSpace) { m_iCardHSpace=iHSpace; m_iCardVSpace=iVSpace; m_iCardUpSpace=iUpSpace; FixCardControl(false); return; }
//设置基准点函数 void CUpGradeGameCard::SetBasePoint(CPoint & BasePoint, XShowMode XShowMode, YShowMode YShowMode) { m_XShowMode=XShowMode; m_YShowMode=YShowMode; m_PtBasePoint=BasePoint; if(this->m_hWnd) FixCardControl(); return; }
//设置扑克 bool CSmallGameCard::SetCard(BYTE bCardList[], BYTE bUpList[], BYTE bCardCount) { if (bCardCount>m_CardArray.GetSize()) m_CardArray.SetSize(bCardCount); if (bCardCount>m_CardUpArray.GetSize()) m_CardUpArray.SetSize(bCardCount); if (bCardList!=NULL) CopyMemory(m_CardArray.GetData(),bCardList,sizeof(BYTE)*bCardCount); if (bUpList!=NULL) CopyMemory(m_CardUpArray.GetData(),bUpList,sizeof(BYTE)*bCardCount); else memset(m_CardUpArray.GetData(),0,sizeof(BYTE)*bCardCount); m_bCardCount=bCardCount; FixCardControl(); return true; }
//删除升起的扑克 BYTE CSmallGameCard::RemoveUpCard() { for (BYTE i=0;i<m_bCardCount;i++) { if (m_CardUpArray.GetAt(i)==TRUE) { m_bCardCount--; m_CardArray.RemoveAt(i); m_CardUpArray.RemoveAt(i); i--; } } FixCardControl(); return m_bCardCount; }
//鼠标消息 void CUpGradeGameCard::OnLButtonUp(UINT nFlags, CPoint Point) { if ((m_bUseMouse==true)&&(m_bHotHitCard!=255)) { BYTE bHitCard=HitCardTest(Point); if ((bHitCard==255)||(m_bHotHitCard!=bHitCard)) { m_bHotHitCard=255; return; } BYTE bUpCard=m_CardUpArray.GetAt(bHitCard); m_CardUpArray.SetAt(bHitCard,(bUpCard==TRUE)?FALSE:TRUE); FixCardControl(); //重画失效部分 CRect Rect; Rect.SetRect(bHitCard*m_iCardHSpace,0,bHitCard*m_iCardHSpace+m_iCardWidth,m_iCardHight+m_iCardUpSpace); InvalidateRect(Rect,FALSE); if (m_pHandleWnd!=NULL) m_pHandleWnd->SendMessage(IDM_LEFT_HITCARD,m_CardArray.GetAt(bHitCard)/*牌值*/,bUpCard/*是否为升起来牌*/); } return; }