当前位置:首页 > MFC中国象棋程序
正确进度:
void CchessView::Drawline(CDC* pDC) {
CBrush Brush(RGB(255,250,175)); dc.FillRect(rc,&Brush); //填充背景颜色
NewBrush.CreateSolidBrush(RGB(139,71,38)); //初始化画刷 OldBrush = pDC->SelectObject(&NewBrush);
pDC->Rectangle(25,25,475,525); //画矩形 pDC->FloodFill(100,100,RGB(139,71,38)); pDC->SelectObject(OldBrush); //给矩形填充颜色
rc.InflateRect(2,2);
dc.Draw3dRect(rc,RGB(255,255,255),RGB(255,255,255)); rc.DeflateRect(2,2);//棋盘立体感
int i,j;
for (i = 0; i < 10; i++) { }
for (i = 0; i < 9; i++) { }
dc.MoveTo(50, 250); dc.LineTo(50, 300); dc.MoveTo(450, 250);
dc.LineTo(450, 300);//连接界限四点
dc.MoveTo(50 + 50 * i, 50); dc.LineTo(50 + 50 * i, 250); dc.MoveTo(50 + 50 * i, 300);
dc.LineTo(50 + 50 * i, 500);//画竖线 dc.MoveTo(50,50+50*i);
dc.LineTo(450, 50 + 50 * i);//画横线 CBrush NewBrush; CBrush *OldBrush;
CClientDC dc(this); CRect rc;
GetClientRect(&rc);
dc.MoveTo(115 + i * 300, 155 + j * 250); dc.LineTo(105 + i * 300, 155 + j * 250); dc.LineTo(105 + i * 300, 165 + j * 250);
dc.MoveTo(105 + i * 300, 135 + j * 250); dc.LineTo(105 + i * 300, 145 + j * 250); dc.LineTo(115 + i * 300, 145 + j * 250); }//兵
for (j = 0; j < 2;j++) for (i = 0; i < 2; i++) {
dc.MoveTo(95+i*300,135+j*250); dc.LineTo(95+i*300,145+j*250); dc.LineTo(85+i*300,145+j*250);
dc.MoveTo(135 + 100 * i, 205 + 150 * j); dc.LineTo(145 + 100 * i, 205 + 150 * j); dc.LineTo(145 + 100 * i, 215 + 150 * j);
dc.MoveTo(145 + 100 * i, 185 + 150 * j); dc.LineTo(145 + 100 * i, 195 + 150 * j); dc.LineTo(135 + 100 * i, 195 + 150 * j);
dc.MoveTo(65 + 100 * i, 205 + 150 * j); dc.LineTo(55 + 100 * i, 205 + 150 * j); dc.LineTo(55 + 100 * i, 215 + 150 * j); for (j = 0; j < 2;j++) for (i = 0; i < 4; i++) {
dc.MoveTo(65+100*i,195+150*j); dc.LineTo(55+100*i,195+150*j); dc.LineTo(55+100*i,185+150*j); dc.MoveTo(200,400); dc.LineTo(300,500); dc.MoveTo(200,500); dc.LineTo(300,400); dc.MoveTo(200,50); dc.LineTo(300,150); dc.MoveTo(200,150); dc.LineTo(300,50);//画斜线
CString a[]={CString(\车\),CString(\马\),CString(\相\),CString(\仕\),CString(\帥CString b[]={CString(\車\),CString(\馬\),CString(\象\),CString(\士\),CString(\將
CFont font1;
font1.CreatePointFont(250,_T(\隶书\)); for(i=0;i<9;i++) { }
for(i=0;i<9;i++) { }
for(i=0;i<2;i++) {
dc.Ellipse(75+300*i,125,125+300*i,175); dc.Ellipse(25+50*i,475,75+50*i,525); CRect textrc(25+50*i,475,75+50*i,525); dc.SetTextColor(RGB(0,0,255));
dc.DrawText(b[i],-1,textrc,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
dc.Ellipse(25+50*i,25,75+50*i,75); CRect textrc(25+50*i,25,75+50*i,75); dc.SetTextColor(RGB(255,0,0));
dc.DrawText(a[i],-1,textrc,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
\),CString(\仕\),CString(\相\),CString(\马\),CString(\车\)}; \),CString(\士\),CString(\象\),CString(\馬\),CString(\車\)};
dc.MoveTo(85 + i * 300, 155 + j * 250); dc.LineTo(95 + i * 300, 155 + j * 250); dc.LineTo(95 + i * 300, 165 + j * 250);
}//炮
UINT uSize = 25; CFont fnt; LOGFONT lf;
TCHAR text[] = _T(\楚河 汉界\); memset(&lf, 0, sizeof(LOGFONT)); lstrcpy(lf.lfFaceName, _T(\));
int cyPixels = pDC->GetDeviceCaps(LOGPIXELSY); lf.lfHeight = -MulDiv(uSize, cyPixels, 72); fnt.CreateFontIndirect(&lf); pDC->SelectObject(&fnt); pDC->SetBkMode(TRANSPARENT);
pDC->TextOut(100, 257, text, wcslen(text)); //楚河汉界
CFont *pOldFont1 = dc.SelectObject(&font1);
}
}
CRect textrc(75+300*i,125,125+300*i,175);dc.SetTextColor(RGB(255,0,0)); dc.DrawText(_T(\炮\),-1,textrc,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
for(i=0;i<2;i++) { }
for(i=0;i<5;i++) { }
for(i=0;i<5;i++) { }
dc.Ellipse(25+100*i,325,75+100*i,375); CRect textrc(25+100*i,325,75+100*i,375); dc.SetTextColor(RGB(0,0,255));
dc.DrawText(_T(\卒\),-1,textrc,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
dc.Ellipse(25+100*i,175,75+100*i,225); CRect textrc(25+100*i,175,75+100*i,225); dc.SetTextColor(RGB(255,0,0));
dc.DrawText(_T(\兵\),-1,textrc,DT_SINGLELINE | DT_CENTER | DT_VCENTER); dc.Ellipse(75+300*i,375,125+300*i,425); CRect textrc(75+300*i,375,125+300*i,425); dc.SetTextColor(RGB(0,0,255));
dc.DrawText(_T(\炮\),-1,textrc,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
网:
ChineseChessBoard.cpp
#include
CMyApp myApp;
//CMyApp member functions
BOOL CMyApp::InitInstance() {
共分享92篇相关文档