云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > MFC中国象棋程序

MFC中国象棋程序

  • 62 次阅读
  • 3 次下载
  • 2025/7/7 8:07:56

正确进度:

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中国象棋程序 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

正确进度: 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)

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com