欢迎来到天天文库
浏览记录
ID:6327000
大小:193.50 KB
页数:18页
时间:2018-01-10
《毕业设计(论文)-单击对战游戏的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、目录摘要1关键字11前言11.1程序开发背景11.2程序开发目标11.3编码设计标准与规范21.4程序开发的实际意义21.5对“单击对战”的解释32相关软件及技术介绍32.1开发平台与工具选择32.1.1.NET简介32.1.2MicrosoftVisualStudio2008简介32.2相关技术简介32.2.1使用UDP协议的套接字技术32.2.2使用TCP协议的套接字技术32.2.3Socket方法和相关类介绍42.2.4多线程的使用42.2.5事件的使用42.2.6反射调用一个类的私有成员43可行性分析与需求分析43.1可行性分析43.2
2、需求分析53.2.1功能需求54单击对战游戏设计54.1系统设计思想54.2系统总体设计55主要功能详细设计65.1在线用户列表的获得65.1.1设计思路65.1.2实现过程65.2进入对战窗体的友好用户体验95.2.1设计思路95.2.2关键代码95.3五子棋对战窗体功能125.3.1设计思路125.3.2关键代码126系统测试156.1测试分析报告156.2.1测试方式简介156.2改进意见157结束语15致谢15参考文献15单击对战游戏的设计与实现计算机科学与技术专业学生指导教师摘要:系统是基于.NET平台开发的一个P2P结构的单击对战五
3、子棋游戏。基于P2P、套接字、事件、设计模式、多线程、反射等技术,使用c#语言和UDP协议的套接字进行广播,不但可以实现在局域网内获得所有在线用户IP列表、状态的功能,而且通过使用TCP协议的套接字可以实现多个用户之间的连接、游戏、聊天、并闪动对方屏幕的功能。以计算机技术和网络技术为核心的现代网络技术已在现实生活和生产中得以广泛的使用,休闲类网络游戏集趣味性、娱乐性、互动性和益智性于一体,已经成为多数人群的休闲方式。关键字:P2P;UDP广播;TCP协议;设计模式;事件1前言1.1程序开发背景随着计算机信息技术的发展,网络游戏已成为我们生活中的
4、重要组成部分,但由于广域网游戏占用的资源较多、易受到病毒等缺点,所以局域网游戏被游戏爱好者广泛使用。无论是对于初步探索网络编程的编程爱好者还是有志于在物联网方面发展的程序员,编写简单的局域网游戏都是一个很好开始。网络游戏在市面上已经出现多年,许多游戏对战平台也已相继出现,例如我们熟知的浩方、QQ对战平台和街机游戏的ArcadeLive平台等等,虽说它们有很大的不同,但有一点是可以肯定的:不管是这些游戏还是对战平台,刚开始都是需要在局域网内调试的。然而,出于盈利的目的,开发商一般不会将对战平台的局域网内的版本流于市面,更不会公开自己的原代码。当然
5、通过一些人士的分析和透露,我们知道浩方是通过把tcp/ip协议转换为ipx协议。虚拟局域网,为大家提供了一个作战平台,但游戏开始后,玩家之间就是p2p的关系了,游戏速度和平台无关。但具体的实现肯定是很困难的,里面至少涉及hook,P2P,VPN,修改数据包,java或C++的网络编程,进程通信,数据库的操作等等。当然一些大型游戏里面内置了网络连接模块,在局域网内是不需要再通过平台完成数据通信的。但对于一些单机游戏,要想完成局域网内的对战,对战平台就不可或缺了。这方面ArcadeLive是比较有代表性的,它的联网功能可能是靠"kaillera"来
6、实现的,要想实现联网玩游戏,你必须有一个kaillera的客户端和一个服务器端的程序,客户端现在大多在模拟器中自带,而服务器端则是一个单独的程序。总之网络联机模块的技术发展还是很成熟的,但由于开发商的保密,很多技术难题还是要自己解决的。1.2程序开发目标拟开发基于p2p具有运用时自动加载在线用户IP列表、双击某个IP或头像自动进入五子棋游戏,并且用户体验很好的程序。该程序无需服务器端,也就是说每个程序实例既是服务端也是客户端,也就是常被我们提及的p2p。运行程序时通过广播特定的信息使所有在线的用户获得自己的IP然后添加到自己的用户列表上,收到此
7、特定信息的用户回复另一信息,然后就可以实现所有的人获得在线用户IP的功能。游戏是逐渐被世人抛弃的起源于中国古代的传统黑白棋种之一的五子棋,虽然它看似无聊,但对于练习编程技术还是很有意义的。本程序中的五子棋使用TCP17协议的套接字进行通讯,广泛应用了事件机制,接收到我们自定义的信息后就会根据以至的信息头作出相关的反映。众所周之,网络游戏会因为种种原因出现延迟,使用户持续等待甚至出现卡死的情况,本程序尽最大的努力提高用户体验的舒适性,即尽量不发生卡的情况。1.3编码设计标准与规范为了在编码过程中,能够快速地、有效地阅读,我们有必要为对象约定一个规
8、范的编码命名约定。(1).对象命名约定下面为在编码过程中会用到的对象统一的命名,如下表1所示:对象名命名约定(前缀码)FormFrmTextBoxtx
此文档下载收益归作者所有