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

📄 chessdlg.cpp

📁 EVC开发的WinCE操作系统下的五子棋源码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
					||(nodes[i-1][j-1]==player&&nodes[i+1][j+1]==player&&nodes[i][j+2]==player&&nodes[i][j+3]==player&&nodes[i][j+4]!=-player&&nodes[i][j+1]!=-player&&nodes[i][j-1]!=-player&&nodes[i-2][j-2]!=-player&&nodes[i+2][j+2]!=-player&&i>1&&j>1&&i<=ROW-2&&j<=COL-4)
					||(nodes[i][j-1]==player&&nodes[i][j-2]==player&&nodes[i-1][j]==player&&nodes[i-3][j]==player&&nodes[i-4][j]!=-player&&nodes[i-2][j]!=-player&&nodes[i+1][j]!=-player&&nodes[i][j+1]!=-player&&nodes[i][j-3]!=-player&&i>3&&j>2&&i<=ROW-1&&j<=COL-1)
					||(nodes[i+1][j]==player&&nodes[i+2][j]==player&&nodes[i][j-1]==player&&nodes[i][j-3]==player&&nodes[i][j-4]!=-player&&nodes[i][j-2]!=-player&&nodes[i][j+1]!=-player&&nodes[i+3][j]!=-player&&nodes[i-1][j]!=-player&&i>0&&j>3&&i<=ROW-3&&j<=COL-1)
					||(nodes[i-1][j]==player&&nodes[i-3][j]==player&&nodes[i-1][j-1]==player&&nodes[i-2][j-2]==player&&nodes[i-3][j-3]!=-player&&nodes[i+1][j+1]!=-player&&nodes[i+1][j]!=-player&&nodes[i-2][j]!=-player&&nodes[i-4][j]!=-player&&i>3&&j>2&&i<=ROW-1&&j<=COL-1)
					||(nodes[i-1][j]==player&&nodes[i-2][j]==player&&nodes[i-1][j+1]==player&&nodes[i-3][j+3]==player&&nodes[i-4][j+4]!=-player&&nodes[i-2][j+2]!=-player&&nodes[i+1][j-1]!=-player&&nodes[i+1][j]!=-player&&nodes[i-3][j]!=-player&&i>3&&j>0&&i<=ROW-1&&j<=COL-4)
					||(nodes[i+1][j]==player&&nodes[i+2][j]==player&&nodes[i+1][j-1]==player&&nodes[i+3][j-3]==player&&nodes[i+4][j-4]!=-player&&nodes[i+2][j-2]!=-player&&nodes[i-1][j+1]!=-player&&nodes[i-1][j]!=-player&&nodes[i+3][j]!=-player&&i>0&&j>3&&i<=ROW-4&&j<=COL-1)
					||(nodes[i][j+1]==player&&nodes[i][j+3]==player&&nodes[i-1][j+1]==player&&nodes[i-2][j+2]==player&&nodes[i-3][j+3]!=-player&&nodes[i+1][j-1]!=-player&&nodes[i][j-1]!=-player&&nodes[i][j+2]!=-player&&nodes[i][j+4]!=-player&&i>2&&j>0&&i<=ROW-1&&j<=COL-4)
					||(nodes[i][j+1]==player&&nodes[i][j+2]==player&&nodes[i+1][j+1]==player&&nodes[i+3][j+3]==player&&nodes[i+4][j+4]!=-player&&nodes[i+2][j+2]!=-player&&nodes[i-1][j-1]!=-player&&nodes[i][j-1]!=-player&&nodes[i][j+3]!=-player&&i>0&&j>0&&i<=ROW-4&&j<=COL-4)
					||(nodes[i+1][j]==player&&nodes[i+3][j]==player&&nodes[i+1][j+1]==player&&nodes[i+2][j+2]==player&&nodes[i+3][j+3]!=-player&&nodes[i-1][j-1]!=-player&&nodes[i-1][j]!=-player&&nodes[i+2][j]!=-player&&nodes[i+4][j]!=-player&&i>0&&j>0&&i<=ROW-4&&j<=COL-3)
					||(nodes[i][j-1]==player&&nodes[i][j-3]==player&&nodes[i+1][j-1]==player&&nodes[i+2][j-2]==player&&nodes[i+3][j-3]!=-player&&nodes[i-1][j+1]!=-player&&nodes[i][j+1]!=-player&&nodes[i][j-2]!=-player&&nodes[i][j-4]!=-player&&i>0&&j>3&&i<=ROW-3&&j<=COL-1)
					||(nodes[i][j-1]==player&&nodes[i][j-2]==player&&nodes[i-1][j-1]==player&&nodes[i-3][j-3]==player&&nodes[i-4][j-4]!=-player&&nodes[i-2][j-2]!=-player&&nodes[i+1][j+1]!=-player&&nodes[i][j+1]!=-player&&nodes[i][j-3]!=-player&&i>3&&j>3&&i<=ROW-1&&j<=COL-1)
					||(nodes[i-1][j]==player&&nodes[i-3][j]==player&&nodes[i-1][j+1]==player&&nodes[i-2][j+2]==player&&nodes[i-3][j+3]!=-player&&nodes[i+1][j-1]!=-player&&nodes[i+1][j]!=-player&&nodes[i-2][j]!=-player&&nodes[i-4][j]!=-player&&i>3&&j>0&&i<=ROW-1&&j<=COL-3)
					||(nodes[i][j+1]==player&&nodes[i][j+2]==player&&nodes[i-1][j+1]==player&&nodes[i-3][j+3]==player&&nodes[i-4][j+4]!=-player&&nodes[i-2][j+2]!=-player&&nodes[i+1][j-1]!=-player&&nodes[i][j+3]!=-player&&nodes[i][j-1]!=-player&&i>3&&j>0&&i<=ROW-1&&j<=COL-4)
					||(nodes[i][j+1]==player&&nodes[i][j+3]==player&&nodes[i+1][j+1]==player&&nodes[i+2][j+2]==player&&nodes[i+3][j+3]!=-player&&nodes[i-1][j-1]!=-player&&nodes[i][j-1]!=-player&&nodes[i][j+4]!=-player&&nodes[i][j+2]!=-player&&i>0&&j>0&&i<=ROW-3&&j<=COL-4)
					||(nodes[i+1][j]==player&&nodes[i+2][j]==player&&nodes[i+1][j+1]==player&&nodes[i+3][j+3]==player&&nodes[i+4][j+4]!=-player&&nodes[i+2][j+2]!=-player&&nodes[i-1][j-1]!=-player&&nodes[i-1][j]!=-player&&nodes[i+3][j]!=-player&&i>0&&j>0&&i<=ROW-4&&j<=COL-4)
					||(nodes[i+1][j]==player&&nodes[i+3][j]==player&&nodes[i+1][j-1]==player&&nodes[i+2][j-2]==player&&nodes[i+3][j-3]!=-player&&nodes[i-1][j+1]!=-player&&nodes[i+4][j]!=-player&&nodes[i+2][j]!=-player&&nodes[i-1][j]!=-player&&i>0&&j>2&&i<=ROW-4&&j<=COL-1)
					||(nodes[i][j-1]==player&&nodes[i][j-2]==player&&nodes[i+1][j-1]==player&&nodes[i+3][j-3]==player&&nodes[i+4][j-4]!=-player&&nodes[i+2][j-2]!=-player&&nodes[i-1][j+1]!=-player&&nodes[i][j+1]!=-player&&nodes[i][j-3]!=-player&&i>1&&j>2&&i<=ROW-4&&j<=COL-1)
					||(nodes[i][j-1]==player&&nodes[i][j-3]==player&&nodes[i-1][j-1]==player&&nodes[i-2][j-2]==player&&nodes[i-3][j-3]!=-player&&nodes[i+1][j+1]!=-player&&nodes[i][j+1]!=-player&&nodes[i][j-2]!=-player&&nodes[i][j-4]!=-player&&i>2&&j>3&&i<=ROW-1&&j<=COL-1)
					||(nodes[i-1][j]==player&&nodes[i-2][j]==player&&nodes[i-1][j-1]==player&&nodes[i-3][j-3]==player&&nodes[i-4][j-4]!=-player&&nodes[i-2][j-2]!=-player&&nodes[i+1][j+1]!=-player&&nodes[i+1][j]!=-player&&nodes[i-3][j]!=-player&&i>3&&j>3&&i<=ROW-1&&j<=COL-1)
					||(nodes[i][j-2]==player&&nodes[i][j-3]==player&&nodes[i+1][j]==player&&nodes[i-1][j]==player&&nodes[i-2][j]!=-player&&nodes[i+2][j]!=-player&&nodes[i][j+1]!=-player&&nodes[i][j-1]!=-player&&nodes[i][j-4]!=-player&&i>1&&j>3&&i<=ROW-2&&j<=COL-1))
				{
					(*tempi)=i;
					(*tempj)=j;
					return 1;
				}
			}
	return 0;
}

int CChessDlg::bd(int i, int j, int *maxnum)
{
	int tempi,tempj,m,max=0,tempmaxnum;
	tempi=i;
	tempj=j;
	m=0;
	i++;
	(*maxnum)=0;
	while(nodes[i][j]==player&&i<=ROW)
	{
		m++;i++;
	}
	i=tempi;j=tempj;
	i--;
	while(nodes[i][j]==player&&i>=0)
	{
		m++;i--;
	}
	tempmaxnum=m;
	if(max<m) max=m;
	i=tempi;
	j=tempj;
	m=0;
	j++;
	while(nodes[i][j]==player&&j<=COL)
	{
		m++;j++;
	}
	i=tempi;
	j=tempj;
	j--;
	while(nodes[i][j]==player&&j>=0)
	{
		m++;j--;
	}
	tempmaxnum+=m;
	if((*maxnum)<tempmaxnum) (*maxnum)=tempmaxnum;
	if(max<m) max=m;
	i=tempi;
	j=tempj;
	m=0;
	i++;
	j++;
	while(nodes[i][j]==player&&i<=ROW&&j<=COL)
	{
		m++;i++;j++;
	}
	i=tempi;
	j=tempj;
	i--;
	j--;
	while(nodes[i][j]==player&&i>=0&&j>=0)
	{
		m++;i--;j--;
	}
	tempmaxnum=m;
	if(max<m) max=m;
	i=tempi;
	j=tempj;
	m=0;
	i++;
	j--;
	while(nodes[i][j]==player&&i<=ROW&&j>=0)
	{
		m++;i++;j--;
	}
	i=tempi;
	j=tempj;
	i--;
	j++;
	while(nodes[i][j]==player&&i>=0&&j<=COL)
	{
		m++;i--;j++;
	}
	tempmaxnum+=m;
	if((*maxnum)<tempmaxnum) (*maxnum)=tempmaxnum;
	if(max<m) max=m;
	return max;
}

void CChessDlg::DrawBackground()
{
	CDC *pDC=GetDC();
	CBitmap bm_background;
	bm_background.LoadBitmap(IDB_BITMAP4);

	CDC mDC;
	mDC.CreateCompatibleDC(pDC); 
    BITMAP bmInfo;
	bm_background.GetObject(sizeof(bmInfo),&bmInfo);

	mDC.SelectObject(&bm_background);
	pDC->StretchBlt(0,0,nHeight,nWidth,&mDC,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);
}

void CChessDlg::DrawNewButton()
{
	CDC *pDC=GetDC();
	CBitmap bm_newbutton;
	bm_newbutton.LoadBitmap(IDB_BITMAP5);

	CDC mDC;
	mDC.CreateCompatibleDC(pDC); 
    BITMAP bmInfo;
	bm_newbutton.GetObject(sizeof(bmInfo),&bmInfo);

	mDC.SelectObject(&bm_newbutton);
	pDC->StretchBlt(0+int((Offset-bmInfo.bmWidth)/2),0+int(nWidth/5),bmInfo.bmWidth,bmInfo.bmHeight,&mDC,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);

}

void CChessDlg::DrawExitButton()
{
	CDC *pDC=GetDC();
	CBitmap bm_exitbutton;
	bm_exitbutton.LoadBitmap(IDB_BITMAP6);

	CDC mDC;
	mDC.CreateCompatibleDC(pDC); 
    BITMAP bmInfo;
	bm_exitbutton.GetObject(sizeof(bmInfo),&bmInfo);

	mDC.SelectObject(&bm_exitbutton);
	pDC->StretchBlt(0+int((Offset-bmInfo.bmWidth)/2),0+int(nWidth/5)+bmInfo.bmHeight*2,bmInfo.bmWidth,bmInfo.bmHeight,&mDC,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);
}

BOOL CChessDlg::ClickNewButton(CPoint point)
{
	CDC *pDC=GetDC();
	CBitmap bm_newbutton;
	bm_newbutton.LoadBitmap(IDB_BITMAP5);

	CDC mDC;
	mDC.CreateCompatibleDC(pDC); 
    BITMAP bmInfo;
	bm_newbutton.GetObject(sizeof(bmInfo),&bmInfo);

	mDC.SelectObject(&bm_newbutton);
	if(point.x>int((Offset-bmInfo.bmWidth)/2)&&point.x<int((Offset-bmInfo.bmWidth)/2)+bmInfo.bmWidth&&point.y>int(nWidth/5)&&point.y<int(nWidth/5)+bmInfo.bmHeight)
	{
		StartGame();
		return true;
	}
	else
		return false;
}

BOOL CChessDlg::ClickExitButton(CPoint point)
{
	CDC *pDC=GetDC();
	CBitmap bm_exitbutton;
	bm_exitbutton.LoadBitmap(IDB_BITMAP6);

	CDC mDC;
	mDC.CreateCompatibleDC(pDC); 
    BITMAP bmInfo;
	bm_exitbutton.GetObject(sizeof(bmInfo),&bmInfo);

	mDC.SelectObject(&bm_exitbutton);
	if(point.x>int((Offset-bmInfo.bmWidth)/2)&&point.x<int((Offset-bmInfo.bmWidth)/2)+bmInfo.bmWidth&&point.y>int(nWidth/5)+bmInfo.bmHeight*2&&point.y<int(nWidth/5)+bmInfo.bmHeight*3)
	{
		CDialog::OnOK();
		return true;
	}
	else
		return false;
}

void CChessDlg::DrawWhiteWin()
{
	CDC *pDC=GetDC();
	CBitmap bm_whitebutton;
	bm_whitebutton.LoadBitmap(IDB_BITMAP7);

	CDC mDC;
	mDC.CreateCompatibleDC(pDC); 
    BITMAP bmInfo;
	bm_whitebutton.GetObject(sizeof(bmInfo),&bmInfo);

	mDC.SelectObject(&bm_whitebutton);
	pDC->StretchBlt(0+int((Offset-bmInfo.bmWidth)/2),nWidth-bmInfo.bmHeight*2,bmInfo.bmWidth,bmInfo.bmHeight,&mDC,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);
}

void CChessDlg::DrawBlackWin()
{
	CDC *pDC=GetDC();
	CBitmap bm_blackbutton;
	bm_blackbutton.LoadBitmap(IDB_BITMAP8);

	CDC mDC;
	mDC.CreateCompatibleDC(pDC); 
    BITMAP bmInfo;
	bm_blackbutton.GetObject(sizeof(bmInfo),&bmInfo);

	mDC.SelectObject(&bm_blackbutton);
	pDC->StretchBlt(0+int((Offset-bmInfo.bmWidth)/2),nWidth-bmInfo.bmHeight*2,bmInfo.bmWidth,bmInfo.bmHeight,&mDC,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);
}

void CChessDlg::DrawnChess()
{
	CDC *pDC=GetDC();
	CBitmap bm_drawnbutton;
	bm_drawnbutton.LoadBitmap(IDB_BITMAP9);

	CDC mDC;
	mDC.CreateCompatibleDC(pDC); 
    BITMAP bmInfo;
	bm_drawnbutton.GetObject(sizeof(bmInfo),&bmInfo);

	mDC.SelectObject(&bm_drawnbutton);
	pDC->StretchBlt(0+int((Offset-bmInfo.bmWidth)/2),nWidth-bmInfo.bmHeight*2,bmInfo.bmWidth,bmInfo.bmHeight,&mDC,0,0,bmInfo.bmWidth,bmInfo.bmHeight,SRCCOPY);
}

⌨️ 快捷键说明

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