- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络扫雷游戏
基于Internet的网络扫雷
尚燚
目录
摘 要 1
1.绪论 1
2. 系统分析 1
3.总体设计 2
3.1主要功能模块划分 2
3.2设计步骤流程 3
4. 详细设计 4
4. 1主函数模块的定义 4
4. 2通信模块的定义 9
5. 调试 10
6. 结论 10
11
附录1-用户手册 12
附录2-源程序 13
摘 要
本软件是一款具有联机功能的扫雷游戏,并且具有单机游戏功能。联机功能采用C/S模型,通过服务器程序中转消息,完成对游戏消息的传送。程序功能丰富,具有多种难度,且带有保存,排行榜,聊天等功能。
程序的设计采用了模块化程序设计的方法,对底层模块和经常被调用的函数,进行封装。使得单机扫雷游戏与网络版的扫雷都可以共用底层的游戏逻辑。且使得在单机版的基础上实现网络功能变得简单。
游戏界面美观,显示的数字和地雷都用贴图实现。
关键词:扫雷游戏;C/S模型;服务器;
1.绪论
2. 系统分析
本。
3.总体设计
3.1主要功能模块划分
图 1程序各模块组织结构图
游戏逻辑模块功能细分的组织结构图如图2所示:
图 2游戏逻辑模块的组织结构图
3.2设计步骤流程
图 3单机扫雷系统结构图
网络扫雷的系统结构图如图4 所示
图 4网络扫雷系结构图
最终,在实现了网络与单机游戏的基础之上,在为程序添加上一些其它功能。如排行榜功能,保存功能等。并且对程序的部分地方予以优化。
4. 详细设计
4. 1主函数模块的定义
WINAPI WinMain函数、LRESULT CALLBACK WindowProcedure函数。具体实现如图5、6、7、8所示。
图5检查、刷新数据函数流程图
图6翻开方格函数函数流程图
图7 WINAPI WinMain函数流程图
图8 LRESULT CALLBACK WindowProcedure函数流程图
4. 2通信模块的定义
图9建立、连接服务器函数流程图
5. 调试
调试是软件开发过程中,调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。WSAStartup函数有错误,检查后发现参数定义有误这次没有出现错误,可成功运行。
运行完程序一次有一个错误提醒
原因是上次运行程序后没有关闭操作界面当点击编译时会有一个错误提示,解决方法:将上一次运行时的操作界面关闭。
6. 结论
----网络扫雷游戏。本程序已经过我与同学的多次测试,在不同的PC上通过网络功能可以成功进行游戏,并且在带宽充足的局域网内,游戏能够运行的很流畅。
虽然在程序网络模块设计的时候,有很多其它能够使得程序联网功能更好,更快的技术,但由于本人自身开发经验的欠缺,所以选择了最熟悉的C/S模型,服务器利用多线程与阻塞套接字的技术。但服务器在少量客户端连接的情况下,效率仍能够满足需要。
写程序,并且把程序写好,并不是一件容易的事情,需要耐心,遇到问题更需要不放弃的毅力,恒心,和信心。还有,要多和老师与同学交流,听取别人的意见,是战胜困难的一条捷径。
但是通过艰辛的努力,所收获到的,不仅是一个程序的完成,而是通过自己努力战胜困难的喜悦,通过写大量程序对自己技术的又一次促进,对程序设计又有更多的理解与感悟。也为以后,程序员的生涯做好了准备。
参考文献
[1] 谭浩强.C语言程序设计(第三版).清华大学出版社,2007
[2] 姜灵芝,余健.C语言课程设计案例精编.清华大学出版社,2008
[3] 严蔚敏.数据结构.清华大学出版社,2007
附录1-用户手册
执行该程序,出现如下界面,如图10所示。
图 10 程序开始界面
点到雷游戏结束,如图11所示。
图 11游戏结束界面
附录2-源程序
#include common.h
#include windows.h
#include string.h
#include stdio.h
#include winsock.h
char table[COL][ROW]; /* 雷区 是否有雷(9) 和 周围雷的个数(0~8) */
char flag[COL][ROW] = {0}; /* 是否已经翻开 */
int gameover = 0; /* 游戏者是否输了 */
int ptime = 0; /*
文档评论(0)