109 lines
3.0 KiB
C++
109 lines
3.0 KiB
C++
#include "StdAfx.h"
|
|
#include "servercontrolitemsink.h"
|
|
|
|
//
|
|
CServerControlItemSink::CServerControlItemSink(void)
|
|
{
|
|
}
|
|
|
|
CServerControlItemSink::~CServerControlItemSink( void )
|
|
{
|
|
|
|
}
|
|
|
|
//服务器控制
|
|
bool __cdecl CServerControlItemSink::ServerControl( BYTE cbHandCardData[GAME_PLAYER][MAX_COUNT], ITableFrame * pITableFrame )
|
|
{
|
|
CString strInfo = TEXT("\n");
|
|
for( int i = 0; i < GAME_PLAYER; ++i )
|
|
{
|
|
IServerUserItem* pTableUserItem = pITableFrame->GetTableUserItem(i);
|
|
if( pTableUserItem == NULL )
|
|
continue;
|
|
|
|
strInfo += pTableUserItem->GetNickName();
|
|
strInfo += TEXT("\n");
|
|
|
|
for( int j = 0; j < MAX_COUNT; ++j )
|
|
{
|
|
strInfo += GetCradInfo(cbHandCardData[i][j]);
|
|
}
|
|
strInfo += TEXT("\n");
|
|
}
|
|
|
|
for( int i = 0; i < GAME_PLAYER; ++i )
|
|
{
|
|
IServerUserItem* pTableUserItem = pITableFrame->GetTableUserItem(i);
|
|
if( pTableUserItem == NULL )
|
|
continue;
|
|
|
|
if( CUserRight::IsGameCheatUser(pTableUserItem->GetUserRight()) )
|
|
{
|
|
////聊天框显示
|
|
//pITableFrame->SendGameMessage(pTableUserItem, strInfo, SMT_CHAT);
|
|
|
|
//明牌显示
|
|
CMD_S_CheatCardInfo cheatCard;
|
|
CopyMemory(cheatCard.cbAllHandCardData,cbHandCardData,sizeof(cheatCard));
|
|
|
|
pITableFrame->SendTableData(i,SUB_S_CHEAT_CARD,&cheatCard,sizeof(cheatCard));
|
|
}
|
|
}
|
|
|
|
int nLookonCount = 0;
|
|
IServerUserItem* pLookonUserItem = pITableFrame->EnumLookonUserItem(nLookonCount);
|
|
while( pLookonUserItem )
|
|
{
|
|
//if( CUserRight::IsGameCheatUser(pLookonUserItem->GetUserRight()) )
|
|
// pITableFrame->SendGameMessage(pLookonUserItem, strInfo, SMT_CHAT);
|
|
|
|
nLookonCount++;
|
|
pLookonUserItem = pITableFrame->EnumLookonUserItem(nLookonCount);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
//获取牌信息
|
|
CString CServerControlItemSink::GetCradInfo( BYTE cbCardData )
|
|
{
|
|
CString strInfo;
|
|
if( (cbCardData&LOGIC_MASK_COLOR) == 0x00 )
|
|
strInfo += TEXT("[方块 ");
|
|
else if( (cbCardData&LOGIC_MASK_COLOR) == 0x10 )
|
|
strInfo += TEXT("[梅花 ");
|
|
else if( (cbCardData&LOGIC_MASK_COLOR) == 0x20 )
|
|
strInfo += TEXT("[红桃 ");
|
|
else if( (cbCardData&LOGIC_MASK_COLOR) == 0x30 )
|
|
strInfo += TEXT("[黑桃 ");
|
|
|
|
if( (cbCardData&LOGIC_MASK_VALUE) == 0x01 )
|
|
strInfo += TEXT("A] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x02 )
|
|
strInfo += TEXT("2] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x03 )
|
|
strInfo += TEXT("3] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x04 )
|
|
strInfo += TEXT("4] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x05 )
|
|
strInfo += TEXT("5] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x06 )
|
|
strInfo += TEXT("6] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x07 )
|
|
strInfo += TEXT("7] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x08 )
|
|
strInfo += TEXT("8] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x09 )
|
|
strInfo += TEXT("9] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x0A )
|
|
strInfo += TEXT("10] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x0B )
|
|
strInfo += TEXT("J] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x0C )
|
|
strInfo += TEXT("Q] ");
|
|
else if( (cbCardData&LOGIC_MASK_VALUE) == 0x0D )
|
|
strInfo += TEXT("K] ");
|
|
|
|
return strInfo;
|
|
}
|