mfc五子棋课程实践报告解读.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mfc五子棋课程实践报告解读

课程实践报告 作品名称:基于MFC的五子棋小游戏 一、设计目的 掌握利用Visual C++进行程序设计的能力,学会调试一个较长程序的基本方法。通过设计用户图形界面,用户通过鼠标就可以操作游戏。 二、程序思路介绍: 1.建立一个MFC基本对话框,添加内容如下: Bitmap的IDB_BITMAP1、IDB_BITMAP2分别表示棋盘上的黑棋和白棋,IDB_BITMAP3表棋盘背景图。 2.主要功能实现 主要功能为两部分:画棋盘,棋子落在棋盘上;判断游戏结束规则。 a.画棋盘通过添加函数void CChessDlg::OnPaint(),由于游戏中可能重画棋盘,而那时棋盘上有棋子,所以函数也要有画棋子的语句。 b.鼠标按下时,棋子落在棋盘上,同时若棋子落下符合结束要求时,再次点击鼠标时会弹出提示窗口。实现功能程序如下: c.若棋盘已被棋子下满,则提示平局,用full()函数实现;五个同色棋子连在一起,则游戏结束,用isover()函数实现。在oldchess.cpp中编写这两个函数。 d.添加棋盘背景图片,将IDB_BITMAP3设为棋盘的背景,实现功能在OnEraseBkgnd()函数中。 d.添加按钮“开始游戏”,“结束游戏”。实现函数如下: 四、作品界面介绍: 打开程序,棋盘界面显示如下: 点击开始游戏,弹出提示窗口,如下图: 点击“确定”,点击棋盘,即可开始下棋: 当棋盘下满,而双方都没有结束下棋,则平局。 五、设计感想及问题 1、存在问题 棋盘利用lineto,moveto语句画出,但是棋盘边界线却只有一边可以完全下棋,调试程序与语句未能改变。判断下棋结束要有四个五子棋排列方式,开始时循环语句返回值设置不对,导致程序始终无法正常运行,后来通过调试程序完成了下棋结束判断功能。目前程序只是人与人单次下棋,还未能实现人机下棋,该算法后续学习后会继续改进。 2、设计体会 通过本次设计作业我们学习到很多关于c语言程序的实践只是,对程序设计这一课程与相关技术有了更深的理解。在程序设计编写中我们将这学期理论学习的知识与实践联系起来了,在设计程序过程中融汇贯通,目前我们对于c语言的应用的还不是十分的熟练,但我们会在现在和今后的学习中的到更深的掌握与理解。本次程序设计虽然知识设计一个五子棋小游戏,我们学会了利用程序语句画线,掌握了开发一个简单游戏的基本方法,学会了调试较长程序的基本方法。 总而言之,在本次程序实践中我们学到了很多,增强了程序编写实践能力,在程序设计过程中一边设计一边思索,也明白了编程是在实践中才能融汇贯通学会的,理论要明白,但更要学会实际编程方法。感谢老师给了我们这个机会,在今后的学习中我们会更加努力。 六、参考资料 [Visual.C++.范例开发大全].陈国建???扫描版??? Visual??C++MFC棋牌游戏编程实例???人民邮电出版社

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档