第一范文网 - 专业文章范例文档资料分享平台

MFC中国象棋程序

来源:用户分享 时间:2025/10/24 3:15:31 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

正确进度:

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 #include #include \

CMyApp myApp;

//CMyApp member functions

BOOL CMyApp::InitInstance() {

搜索更多关于: MFC中国象棋程序 的文档
MFC中国象棋程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c224wf6trpm3y3j84w1k4_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top