1 / 18
文档名称:

可视化编程(VC)课程设计报告-五子棋系统实现.doc

格式:doc   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

可视化编程(VC)课程设计报告-五子棋系统实现.doc

上传人:3346389411 2013/4/4 文件大小:0 KB

下载得到文件列表

可视化编程(VC)课程设计报告-五子棋系统实现.doc

文档介绍

文档介绍:附件1:
学号:
课程设计
课程名称
可视化编程(VC)
学院
计算机科学与技术学院
专业
软件工程专业
班级
姓名
指导教师
2010——2011学年第2学期
目录
1、摘要------------------------------------------------------------------------2
2、关键字---------------------------------------------------------------------2
3、正文------------------------------------------------------------------------2
(1)功能描述-----------------------------------------------------------2
必备功能------------------------------------------------------2
绚丽功能------------------------------------------------------3
(2)操作实现----------------------------------------------------------4
(3)详细剖析----------------------------------------------------------6
(4)所遇问题-----------------------------------------------------------11
(5)未解决问题--------------------------------------------------------13
(6)设计总结----------------------------------------------------------14
4、参考资料----------------------------------------------------------------14
五子棋系统实现
【摘要】
此五子棋系统用户可以选择棋子颜色和样式,有黑白两种颜色的选取,备有计时功能,如果超时系统则做出让步处理。该系统有人机对战和人人对战的模式,五子相连时能自动判断胜负。
此次的五子棋系统界面良好,绚丽,有创新意识。功能完善,功能多样,其中有很多人性化以及趣味设计,如声音的提示等。
【关键字】五子棋计时超时让步处理人机对战人人对战界面功能声音趣味设计
【正文】
功能描述
1、必备功能
(1)用户可以选择棋子的颜色(黑、白),可以选择对战的模式(人人对战、人机对战)
,当为选棋子和模式时,系统默认人机对战,玩家执白棋,选择不同的模式,计时卡上的内容也会相应的显示
(2)拥有计时功能(下棋思考时间以及游戏总时间),如果超过规定时间没有落棋,则会有惩罚(超过25秒未落棋,出现提醒对话框后默认判定让步处理)
(3)当五子相连时,系统自动判定输赢
(4)菜单相应的还有“重来”、“重置”、“退出”等功能
2、绚丽功能
(1)界面绚丽
(2)当按下“开始”时,弹出计时卡供计时,分布棋盘两边
(3)当开始时、落棋时、输赢时、超时时系统会发出声音
(4)当人机对战时,电脑落棋时,会有闪烁的功能
(5)当五子相连时,五子会同时闪烁,提醒棋局已完
未开始时界面截图
开始时界面截图
(很多同学问我为什么要画这样一个图放在界面,我觉得这刚好与黑白棋相呼应,所以就果断的画了,此次看来效果还不错)
(桌面背景可以忽视)
菜单栏
二、操作实现
1、未开始点击棋盘会出现提示
2、超时处理
让步前(白棋超时) 让步后(白棋超时)
3、游戏时是无法改变游戏模式和棋子颜色的,如要改变,则需要点击游戏中的“重置”,被选择的模式以及棋子菜单项将会变灰
4、若要放弃当前棋局,可单击“重来”,单击“重来”,则按原来的模式以及棋子颜色进行游戏
5、若要结束游戏,则从“游戏”选择“退出”即可,或者单击右上角的
6、若要查看作者相关信息,单击菜单栏“关于”即可
三、详细剖析
1、界面如何绘制
(1)获取父窗口的宽cxClient,高cyClient
以及每一个格子的宽cxBlock,高cyBlock
(2)画棋盘:DrawLine()的关键代码
第一个for循环为画列,第二个for循环为画航
当未开始时,则绘制出界面上的“八卦图”,代码如下
2、如何获取坐标并在特定区域画棋子
在WM_LBUTTONDOWN消息下,获取纵