⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientview.cpp

📁 添七,棋牌游戏源代码,功能齐全,稳定,适合用于棋牌游戏开发
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	{
		ptCardPoint[1].x=cx-40;
		ptCardPoint[1].y=iBaseLine+30;
	}
	else
	{
		ptCardPoint[1].x=cx-83;
		ptCardPoint[1].y=iBaseLine+60;
	}
	m_PtNt[1].x=cx-80;
	m_PtNt[1].y=iBaseLine+155;
	m_PtNtLogo[1].x=cx-85;
	m_PtNtLogo[1].y=iMidLine+20;
	m_PtLogo[1].x=cx-62;
	m_PtLogo[1].y=iMidLine;
	m_PtName[1].x=cx-70;
	m_PtName[1].y=iMidLine;
	m_PtTime[1].x=cx-60;
	m_PtTime[1].y=iMidLine+42;
	m_PtAgree[1].x=cx-100;
	m_PtAgree[1].y=iMidLine+22;
	
//	iListState[2]=SW_MODE_CENTER;
	if (GetSystemMetrics(SM_CXSCREEN)>=1024)
	{
		ptCardPoint[2].x=cx/2;
		ptCardPoint[2].y=cy-325;
	}
	else
	{
		ptCardPoint[2].x=cx/2;
		ptCardPoint[2].y=cy-300;
	}
	m_PtNt[2].x=cx/2-115;
	m_PtNt[2].y=cy-37;
	m_PtNtLogo[2].x=cx/2;
	m_PtNtLogo[2].y=cy-20;
	m_PtLogo[2].x=cx/2-50;
	m_PtLogo[2].y=cy-37;
	m_PtName[2].x=cx/2-10;
	m_PtName[2].y=cy-37;
	m_PtTime[2].x=cx/2-85;
	m_PtTime[2].y=cy-37;
	m_PtAgree[2].x=cx/2+25;
	m_PtAgree[2].y=cy-20;
	
//	iListState[3]=SW_MODE_LEFT;
	if (GetSystemMetrics(SM_CXSCREEN)>=1024)
	{
		ptCardPoint[3].x=40;
		ptCardPoint[3].y=iBaseLine+30;
	}
	else
	{
		ptCardPoint[3].x=80;
		ptCardPoint[3].y=iBaseLine+60;
	}
	m_PtNt[3].x=35;
	m_PtNt[3].y=iBaseLine+155;
	m_PtNtLogo[3].x=70;
	m_PtNtLogo[3].y=iMidLine+20;
	m_PtLogo[3].x=30;
	m_PtLogo[3].y=iMidLine;
	m_PtName[3].x=70;
	m_PtName[3].y=iMidLine;
	m_PtTime[3].x=33;
	m_PtTime[3].y=iMidLine+42;
	m_PtAgree[3].x=90;
	m_PtAgree[3].y=iMidLine+22;

	//移动扑克

	m_UserCard[1].SetBasePoint(CPoint(ptCardPoint[0].x + 40 ,ptCardPoint[0].y),
		CUpGradeGameCard::XShowMode::SWX_MODE_CENTER,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);
	m_UserCard[0].SetBasePoint(CPoint(ptCardPoint[0].x + 190,ptCardPoint[0].y),
		CUpGradeGameCard::XShowMode::SWX_MODE_RIGHT,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);
	m_UserCard[2].SetBasePoint(CPoint(ptCardPoint[0].x - 80 ,ptCardPoint[0].y),
		CUpGradeGameCard::XShowMode::SWX_MODE_CENTER,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);
	m_UserCard[3].SetBasePoint(CPoint(ptCardPoint[0].x - 230,ptCardPoint[0].y),
		CUpGradeGameCard::XShowMode::SWX_MODE_LEFT,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);

	//m_UserCard[0].SetBasePoint(CPoint(ptCardPoint[0].x,ptCardPoint[0].y),
	//	CUpGradeGameCard::XShowMode::SWX_MODE_CENTER,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);
	//m_UserCard[1].SetBasePoint(CPoint(ptCardPoint[1].x,ptCardPoint[1].y),
	//	CUpGradeGameCard::XShowMode::SWX_MODE_RIGHT,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);
	//m_UserCard[2].SetBasePoint(CPoint(ptCardPoint[2].x,ptCardPoint[2].y),
	//	CUpGradeGameCard::XShowMode::SWX_MODE_CENTER,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);
	//m_UserCard[3].SetBasePoint(CPoint(ptCardPoint[3].x,ptCardPoint[3].y),
	//	CUpGradeGameCard::XShowMode::SWX_MODE_LEFT,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);
	
	

	m_MeCard.SetBasePoint(CPoint(cx/2,cy-170),
		CUpGradeGameCard::XShowMode::SWX_MODE_CENTER,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);
	m_MeBackCard.SetBasePoint(CPoint(cx/2,cy-170),
		CUpGradeGameCard::XShowMode::SWX_MODE_CENTER,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);

	//移动反牌视图
	CRect ContronRect;
	m_NtList.GetClientRect(&ContronRect);
	m_NtList.MoveWindow((cx-ContronRect.Width())/2,cy-205,ContronRect.Width(),ContronRect.Height(),FALSE);

	//移动信息视图
	m_GameNoteView.GetClientRect(&ContronRect);
	m_GameNoteView.MoveWindow((cx-ContronRect.Width())/2,((cy-150)-ContronRect.Height())/2,
							ContronRect.Width(),ContronRect.Height(),FALSE);

	//移动控件
	m_btOutCard.GetClientRect(&ContronRect);
	m_btOutCard.MoveWindow(m_ClientRect.Width()/2,cy-200,70,25);

	///m_btPass.MoveWindow(m_ClientRect.Width()/2 + 10,cy-200,70,25);

	m_btGiveBack.MoveWindow((cx-ContronRect.right)/2,cy-200,ContronRect.right,ContronRect.bottom);
	m_btContinue.MoveWindow((cx-ContronRect.right)/2,cy-200,ContronRect.right,ContronRect.bottom);
	
	
		m_StationView.MoveWindow(0,m_ClientRect.bottom - 23 + 20,
		m_ClientRect.Width(),
		113- 20);
	m_MeKouCard.SetBasePoint(CPoint(cx/2-100,cy-170),
		CUpGradeGameCard::XShowMode::SWX_MODE_CENTER,CUpGradeGameCard::YShowMode::SWY_MODE_TOP);

	//移动按钮
	m_btLastTurn.MoveWindow(cx-75,cy-60,73,25);
	//m_btLastTurn

	m_btBackCard.MoveWindow(cx-75,cy-90,73,25);
	m_btThing.MoveWindow(cx-75,cy-120,73,25);
	m_btStop.MoveWindow(cx-75,cy-150,73,25);

	return;
}

//开始按钮
void CClientPlayView::OnHitBegin()
{
	CClientGameDlg *p=CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_BEGIN,0,0);
	return;
}

//出牌按钮
void CClientPlayView::OnHitOutCard()
{
	CClientGameDlg *p=CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_OUT_CARD,0,0);
	return;
}

//继续按钮
void CClientPlayView::OnHitContinue()
{
	CClientGameDlg *p=CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_BEGIN,0,0);
	return;
}

//上轮扑克
void CClientPlayView::OnHitLastTurn()
{
	CClientGameDlg *p=CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_LOOK_LAST,0,0);
	return;
}

//底牌按钮
void CClientPlayView::OnHitLookBack()
{
	CClientGameDlg *p=CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_BACK_CARD,0,0);
	return;
}

//有事要走
void CClientPlayView::OnHitThing()
{
	CClientGameDlg *p=CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_HAVE_THING,0,0);
	return;
}

//留底牌按钮
void CClientPlayView::OnHitBackCard()
{
	CClientGameDlg *p=CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_GIVE_BACK,0,0);
	return;
}

//提前停止
void CClientPlayView::OnHitStop()
{
	CClientGameDlg *p=CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_STOP,0,0);
	return;
}


//不出按钮
void CClientPlayView::OnHitPass()
{
	CClientGameDlg *p = CONTAINING_RECORD(this,CClientGameDlg,m_PlayView);
	p->SendMessage(IDM_PASS,0,0);
	return;
}



//重置界面函数
void CClientPlayView::ResetGameView()
{
	CUsingSkinClass::ResetGameView();

	return;
}

//绘画 NT 标志
void CClientPlayView::DrawNt(CDC * pDC, int x, int y)
{
	CDC NtDC;
	BITMAP BmpInfo;
	m_NT.GetBitmap(&BmpInfo);
	NtDC.CreateCompatibleDC(pDC);
	NtDC.SelectObject(&m_NT);
	pDC->BitBlt(x,y,BmpInfo.bmWidth,BmpInfo.bmHeight,&NtDC,0,0,SRCCOPY);
	return;
}

//绘画 NT 图标
void CClientPlayView::DrawNtLogo(CDC * pDC, int x, int y, int iHuaKind)
{
	CDC NtDC;
	COLORREF crColor=0;
	NtDC.CreateCompatibleDC(pDC);
	NtDC.SelectObject(&m_NTLogo);
	int iBeginStation=(iHuaKind>>4)*15;
	for (int i=0;i<15;i++)
	{
		for (int j=0;j<15;j++)
		{
			crColor=NtDC.GetPixel(i+iBeginStation,j);
			if (crColor!=RGB(255,255,255)) pDC->SetPixel(x+i,y+j,crColor);
		}
	}
	return;
}

//设置庄家的位置
void CClientPlayView::SetNTStation(int iViewStation)
{
	m_iNtStation=iViewStation;
	UpdateViewFace(NULL);

	return;
}

//设置报主位置
void CClientPlayView::SetShowNtStation(int iViewStation, int iHuaKind)
{
	m_iHuaKind=iHuaKind;
	m_iShowStation=iViewStation;
	UpdateViewFace(NULL);

	return;
}

//设置游戏分数
void CClientPlayView::SetGamePoint(int iGamePoint, int bMeSide)
{
	if ((iGamePoint==0)&&(bMeSide==-1))
	{
		bMeSide=-1;
		m_iGamePoint=0;
	}
	else if (iGamePoint==0) m_bMeSide=bMeSide;
	else m_iGamePoint+=iGamePoint;

	UpdateViewFace(NULL);
	
	return;
}

//设置背景色
void CClientPlayView::SetBackBmp(UINT uResourceID, TCHAR * szFileName, BOOL bResource)
{
	if (bResource)
	{
		CBitmap Temp;
		if (!Temp.LoadBitmap(uResourceID)) return;
		return;
	}
	else
	{
		if (szFileName==NULL) return;
	}
	return;
}

void CClientPlayView::DrawInfo(CDC *pDC)
{
	if (!m_StationView.m_bShowMessage) 
		return;

	CFont Font;
	CPaintDC dc(this);
	Font.CreateFont(-12,0,0,0,400,NULL,NULL,NULL,134,3,2,1,2,TEXT("宋体"));
//	dc.SelectObject(Font);
	pDC->SetTextColor(RGB(0,0,0));
	pDC->SetBkMode(TRANSPARENT);

	//绘画信息
	//TCHAR szBuffer[50];
	TCHAR * szUpGrade[]={TEXT("本方 -- 对家"),TEXT("敌方 -- 右家"),TEXT("本方 -- 自己"),TEXT("敌方 -- 左家")};
	TCHAR * szHua[]={TEXT("方块"),TEXT("梅花"),TEXT("红桃"),TEXT("黑桃")};
	TCHAR * szCard[13]={TEXT("2"),TEXT("3"),TEXT("4"),TEXT("5"),TEXT("6"),TEXT("7"),
						TEXT("8"),TEXT("9"),TEXT("10"),TEXT("J"),TEXT("Q"),TEXT("K"),
						TEXT("A")};
/*
	pDC->TextOut(10+VIEW_FRAME_LEFT,5+VIEW_FRAME_TOP,TEXT("本方:"));	
	pDC->TextOut(10+VIEW_FRAME_LEFT,20+VIEW_FRAME_TOP,TEXT("敌方:"));
	pDC->TextOut(10+VIEW_FRAME_LEFT,35+VIEW_FRAME_TOP,TEXT("已打局数:"));
//	pDC->TextOut(10+VIEW_FRAME_LEFT,50+VIEW_FRAME_TOP,TEXT("分数:"));
//	pDC->TextOut(10+VIEW_FRAME_LEFT,65+VIEW_FRAME_TOP,TEXT("罚分:"));
	pDC->TextOut(10+VIEW_FRAME_LEFT,50+VIEW_FRAME_TOP,TEXT("主牌:"));
*/
/*
	pDC->TextOut(10+VIEW_FRAME_LEFT,750,TEXT("本方:"));	
	pDC->TextOut(10+VIEW_FRAME_LEFT,20+VIEW_FRAME_TOP,TEXT("敌方:"));
	pDC->TextOut(10+VIEW_FRAME_LEFT,35+VIEW_FRAME_TOP,TEXT("已打局数:"));
//	pDC->TextOut(10+VIEW_FRAME_LEFT,50+VIEW_FRAME_TOP,TEXT("分数:"));
//	pDC->TextOut(10+VIEW_FRAME_LEFT,65+VIEW_FRAME_TOP,TEXT("罚分:"));
	pDC->TextOut(10+VIEW_FRAME_LEFT,50+VIEW_FRAME_TOP,TEXT("主牌:"));
	if (m_StationView.m_iMeStation!=-1)
	{
		sprintf(szBuffer,TEXT("%s打到%s,现在打%s"),szCard[m_StationView.m_iBeginStation-2],szCard[m_StationView.m_iEndStation-2],szCard[m_StationView.m_iMeStation-2]);
		pDC->TextOut(50+VIEW_FRAME_LEFT,5+VIEW_FRAME_TOP,szBuffer,lstrlen(szBuffer));
	}
	if (m_StationView.m_iOtherStation!=-1)
	{
		sprintf(szBuffer,TEXT("%s打到%s,现在打%s"),szCard[m_StationView.m_iBeginStation-2],szCard[m_StationView.m_iEndStation-2],szCard[m_StationView.m_iOtherStation-2]);
		pDC->TextOut(50+VIEW_FRAME_LEFT,20+VIEW_FRAME_TOP,szBuffer,lstrlen(szBuffer));
	}

	if (m_StationView.m_iLessPlay!=-1)
	{
//		sprintf(szBuffer,TEXT("%d (最少回合=%d)"),m_StationView.m_iPlayCount,m_StationView.m_iLessPlay);
		sprintf(szBuffer,TEXT("%d"),m_StationView.m_iPlayCount);
		pDC->TextOut(80+VIEW_FRAME_LEFT,35+VIEW_FRAME_TOP,szBuffer,lstrlen(szBuffer));
	}

//	sprintf(szBuffer,TEXT("%d"),m_StationView.m_iTurePoint);
//	pDC->TextOut(50+VIEW_FRAME_LEFT,50+VIEW_FRAME_TOP,szBuffer,lstrlen(szBuffer));

	//if (m_StationView.m_iPunishPoint!=0)
	//{
	//	sprintf(szBuffer,TEXT("%d"),m_StationView.m_iPunishPoint);
	//	pDC->TextOut(50+VIEW_FRAME_LEFT,65+VIEW_FRAME_TOP,szBuffer,lstrlen(szBuffer));
	//}
	//else 
	//	pDC->TextOut(50+VIEW_FRAME_LEFT,65+VIEW_FRAME_TOP,TEXT("无"),2);

	if (m_StationView.m_iNTStation!=-1)
	{
		DrawNtLogo(pDC,50+VIEW_FRAME_LEFT,50+VIEW_FRAME_TOP,m_iHuaKind);
		sprintf(szBuffer,TEXT("%s %s"),szHua[m_StationView.m_iNTHua>>4],(m_StationView.m_iUpGrade==0 || m_StationView.m_iUpGrade==2)?szCard[m_StationView.m_iMeStation-2]:szCard[m_StationView.m_iOtherStation-2]);
		pDC->TextOut(50+VIEW_FRAME_LEFT+17,50+VIEW_FRAME_TOP,szBuffer,lstrlen(szBuffer));
	}
*/
	return;
}
/*******************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -