可供两人对弈的中国象棋程序.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
// Sample 10-4: 中国象棋程序 #in clude afxw in.h //棋盘类 class CPlate { int m_n dx; // 棋盘格宽 int m_n dy; // 棋盘格高 int m_n Left; // 棋盘位置 int m_n Top; int m_n Right; int m_n Bottom; public: CPlate(); void ShowPlate(CDC *pDC); void DrawC on er(CDC *pDC, i nt row, i nt col, i nt type); CPoi nt GetPositio n(i nt col, i nt row); }; //棋盘类的成员函数 //构造函数:初始化 CPIate::CPIate() { m_ndx =50; m_ndy =45; m_n Left =198; m_n Top =30; m_n Right =m_n Left+m_ ndx*8; m_n Bottom =m_n Top+m_ ndy*9; } //显示棋盘 void CPIate::ShowPlate(CDC *pDC) { //画棋盘方格 CPe n pen Red2(PS_SOLID,2,RGB(255,0,0)); CPe n *pOldPe n = pDC-SelectObject(pe nRed2); for(int i=0; i10; i++) { pDC-MoveTo(m_ nLeft, m_n Top+i*m_ ndy); pDC-L in eTo(m_ nRight, m_n Top+i*m _n dy); } for(i=0; i9; i++) { if(i==0 || i==8) { pDC-MoveTo(m_ nLeft+i*m_ ndx, m_n Top); pDC-L in eTo(m_ nLeft+i*m_ ndx, m_n Bottom); } else{ pDC-MoveTo(m_ nLeft+i*m_ ndx, m_n Top); pDC-L in eTo(m_ nLeft+i*m_ ndx, m_n Top+4*m_ ndy); pDC-MoveTo(m_ nLeft+i*m_ ndx, m_n Top+5*m_ndy); pDC-L in eTo(m_ nLeft+i*m_ ndx, m_n Bottom); } } //画棋盘斜线 pDC-SelectObject(pOldPe n); CPe n pen Red1(PS_SOLID,1,RGB(255,O,O)); pOldPe n = pDC-SelectObject(pe nRed1); pDC-MoveTo(m_nLeft+3*m _n dx, m_n Top); pDC-Li neTo(m_ nLeft+5*m_ ndx, m_nTop+2*m_ ndy); pDC-MoveTo(m_nLeft+3*m _n dx, m_n Top+2*m_ ndy); pDC-Li neTo(m_ nLeft+5*m _n dx, m_nTop); pDC-MoveTo(m_nLeft+3*m _n dx, m_n Bottom); pDC-Li neTo(m_ nLeft+5*m_ ndx, m_nBottom-2*m_ ndy); pDC-MoveTo(m_nLeft+3*m _n dx, m_n Bottom-2*m_ndy); pDC-Li neTo(m_ nLeft+5*m _n dx, m_nBottom); pDC-SelectObject(pOldPe n); //画兵,炮位标记 DrawConer(pDC, 2, 1, 0); DrawConer(pDC, 2, 7, 0); DrawC on er(pDC, 3, 0, 1); DrawCo ner(pDC, 3, 2, 0); DrawCo ner(pDC, 3, 4, 0); DrawC on er(pDC, 3, 6, 0); DrawCo ner(pDC, 3, 8, 2); DrawCo ner(pDC, 7, 1, 0); DrawC on er(pDC, 7, 7, 0); DrawC on er(pDC, 6, 0, 1); DrawCo ner(pDC, 6, 2, 0); DrawC on er(pDC, 6, 4, 0); DrawC on er(pDC, 6, 6, 0); DrawCo ner(pDC, 6, 8, 2); } //绘制兵,炮位标志 void CPIate::DrawC on er(CDC *pDC, i nt row, i nt col, i

文档评论(0)

wumanduo11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档