vc++五子棋课程设计只是分享

上传人:ni****g 文档编号:457278023 上传时间:2023-01-03 格式:DOCX 页数:30 大小:413.97KB
返回 下载 相关 举报
vc++五子棋课程设计只是分享_第1页
第1页 / 共30页
vc++五子棋课程设计只是分享_第2页
第2页 / 共30页
vc++五子棋课程设计只是分享_第3页
第3页 / 共30页
vc++五子棋课程设计只是分享_第4页
第4页 / 共30页
vc++五子棋课程设计只是分享_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《vc++五子棋课程设计只是分享》由会员分享,可在线阅读,更多相关《vc++五子棋课程设计只是分享(30页珍藏版)》请在金锄头文库上搜索。

1、VC+五子棋课程设计五子棋五子棋是一种很受人们喜爱的游戏,它的规则简单,但玩法变化多端,富有趣味性,适合人们消遣。这里我们就来设计一个五子棋游戏。(一)(一)人对人游戏更件(EJfjIui11tQ黑鶴下埶宁|1.1.游戏实现人对人游戏,其实只是对游戏规则的实现,我们只是利用五子棋游戏的规则来编程,至于真正的游戏实现一一计算机的“智能”算法,我们将在后面讲述。五子棋的规则很简单:1, 判断是否能放下棋子(是否已经有了棋子);2, 判断是哪种颜色下棋;3, 判断是否已经结束(是谁赢?)这些规则,我们将用相应的函数来实现。其它,我们还将介绍其它一些功能的实现。如鼠标的更换,工具栏和状态栏的编辑,类与

2、类之间的相互调用。新建工程3_1,选择文件-新建-项目-VC+-MFC-MFC应用程序-输入名称五子棋-下一步-单文档-下一步-。-选中Windows套接字复选框。如下图:图3-1-1单击完成。1.2.资源编辑由于我们这个程序出现的关于资源编辑的内容太多,我们具体介绍如下(以下内容在视图-资源视图中添加):见下图3-1-2,我们需要添加的有:竟妙见圄-BLACKiX尹鮫沁気护bi-tmapl-bmp-Bitm32x24日31L7CK_i艺丁眞rcMccleratorbitmap塑IDB_BLACLoadCursor(IDC_CURSOR1);hcursorwhite=AfxGetApp()-L

3、oadCursor(IDC_CURSOR2);m_bmwhite.LoadBitmap(IDB_WHITE);m_bmblack.LoadBitmap(IDB_BLACK);/清理棋盘/数组值为0表示没有棋子for(inti=0;i19;i+)for(intj=0;jFillRect(myrect1,&mybrush1);/画棋盘框线CPenmypen;CPen*myoldPen;mypen.CreatePen(PS_SOLID,1,RGB(0,0,0);myoldPen=pDC-SelectObject(&mypen);for(inti=0;iMoveTo(40,40+i*20);pDC-L

4、ineTo(400,40+i*20);pDC-MoveTo(40+i*20,40);pDC-LineTo(40+i*20,400);/重画时显示存在的棋子CDCDc;if(Dc.CreateCompatibleDC(pDC)=FALSE)AfxMessageBox(_T(CantcreateDC);for(intn=0;n19;n+)for(intm=0;mBitBlt(n*20+32,m*20+32,160,160,&Dc,0,0,SRCCOPY);elseif(wzqnm=-1)/显示黑棋Dc.SelectObject(m_bmblack);pDC-BitBlt(n*20+32,m*20+

5、32,160,160,&Dc,0,0,SRCCOPY);设置鼠标:棋盘画好了,接下来就是下棋了。但鼠标并没有像我们上面说的那样变成白棋,函数如下(选择View类-消息-WM_SETCURSOR-OnSetCursor):BOOLCMy3_1View:OnSetCursor(CWnd*pWnd,UINTnHitTest,UINTmessage)/TODO:Addyourmessagehandlercodehereand/orcalldefaultif(nHitTest=HTCLIENT)/白棋下,显示白棋鼠标if(colorwhite)/调用主框架里面的状态栏CMainFrame*pFrm=(C

6、MainFrame*)AfxGetApp()-m_pMainWnd;CStatusBar*pStatus=&pFrm-m_wndStatusBar;if(pStatus)pStatus-GetStatusBarCtrl().SetIcon(0,AfxGetApp()-LoadIcon(IDB_WHITE);pStatus-SetPaneText(0,_T(白棋下);SetCursor(hcursorwhite);/显示黑棋鼠标elseSetCursor(hcursorblack);CMainFrame*pFrm=(CMainFrame*)AfxGetApp()-m_pMainWnd;CStat

7、usBar*pStatus=&pFrm-m_wndStatusBar;if(pStatus)/显示图像pStatus-GetStatusBarCtrl().SetIcon(0,AfxGetApp()-LoadIcon(IDB_BLACK);/显示文字pStatus-SetPaneText(O,_T(”黑棋下);return1;returnCView:OnSetCursor(pWnd,nHitTest,message);现在运行程序,怎样,鼠标变成白棋了,而且下面的状态栏也能够显示鼠标状态了,真是一举两得。可是,又该怎样把棋子放在棋盘上呢?下棋操作:这就涉及到OnLButtonDown(UINTnFlags,CPointpoint)和OnLButtonUp(UINTnFlags

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号