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

刘声传毕业设计初稿

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

cs.style=WS_SYSMENU|WS_OVERLAPPED|WS_MINIMIZEBOX;//; //设置窗口大小:400*340 cs.cx=450; cs.cy=500; return TRUE; } 画棋盘:

在OnDraw(CDC* pDC)函数中画棋盘,由于在游戏过程中有可能重画棋盘,而那时棋盘上面有棋子,所以,我们在这个函数里面必须有画棋子的语句。在此用数组的做为1表示白棋,-1表示黑棋。

void CMy3_1View::OnDraw(CDC* pDC) {

CMy3_1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); //画背景 CBrush mybrush1;

mybrush1.CreateSolidBrush(RGB(192,192,192)); CRect myrect1(0,0,1200,800); pDC->FillRect(myrect1,&mybrush1); //画棋盘框线 CPen mypen; CPen*myoldPen;

mypen.CreatePen(PS_SOLID,1,RGB(0,0,0)); myoldPen=pDC->SelectObject(&mypen); for(int i=0;i<19;i++) {

pDC->MoveTo(40,40+i*20); pDC->LineTo(400,40+i*20); pDC->MoveTo(40+i*20,40); pDC->LineTo(40+i*20,400); }

//重画时显示存在的棋子 CDC Dc;

if(Dc.CreateCompatibleDC(pDC)==FALSE) AfxMessageBox(\

for(int n=0;n<19;n++) for(int m=0;m<19;m++) if(wzq[n][m]==1) { //显示白棋

Dc.SelectObject(m_bmwhite); pDC->BitBlt(n*20+32,m*20+32,160,160,&Dc,0,0,SRCCOPY); }

else if(wzq[n][m]==-1) { //显示黑棋

Dc.SelectObject(m_bmblack); pDC->BitBlt(n*20+32,m*20+32,160,160,&Dc,0,0,SRCCOPY); } }

棋盘的效果如图

5.核心算法

在完成界面设计后,就开始展开游戏核心的设计,该部分主要包括计算机搜索最佳落棋位置,游戏胜利判断的实现。 5.1 搜索最佳落棋位置

计算机是怎样下棋?这就是定位的问题了。即搜索棋盘,找出一个最佳点,放下黑棋。我们实现的方法是:全盘搜索,并把搜索到的位置,保存在变量。由于有多种情况,我们定义变量如下:

CPoint bpointcan4, //这个位置空,它旁边有四

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