基本于CS模式的五子棋网络对战游戏说明书.doc
《基本于CS模式的五子棋网络对战游戏说明书.doc》由会员分享,可在线阅读,更多相关《基本于CS模式的五子棋网络对战游戏说明书.doc(38页珍藏版)》请在沃文网上搜索。
1、目录1 引言11.1 网络游戏的发展现状11.2 网络游戏的发展前景21.3 网络五子棋的设计意义32 开发工具,环境及其技术32.1 Java介绍32.2 Access数据库62.3 JAVA 编程环境73 网络五子棋需求分析83.1 需求分析84 网络五子棋的概要设计114.1 概要设计114.2 关键技术和难点135 详细设计185.1 chessface包185.2 Client包195.3 Server包195.4 userlogin包206 系统设计216.1 界面设计216.2 棋盘绘制266.3 连接Access数据库的实现276.4 五子棋多线程的实现286.5 五子棋的胜负
2、算法实现297 系统测试307.1 测试服务器307.2 测试客户端318 结论及体会358.1 不足与改进358.2 经验总结358.3 开发体会36参 考 文 献37致 谢381 引言1.1 网络游戏的发展现状网络游戏在中国萌芽与20世纪90年代末并高速发展成为互联网最具影响力的产业!网游凭借巨大的经济收益、前景潜力、市场份额短期高速发展!吸引了各行各业的投资者涉足网游,尤其是门户网站的参与转型(新浪、网易、搜狐等等都涉足网游)!巨大的市场份额,目前网游在全国近2亿网民中渗透率达到35%左右!用户超过5000万,其中棋牌平台类游戏在网民中渗透率约为20%。08年全国网游线上交易规模达到13
3、0亿人民币,并且每年以30%左右的速度增长。棋牌游戏的特点,棋牌游戏在中国拥有几千年的历史!丰厚的历史文化底蕴,巨大的群众基础。棋牌游戏不同于角色、对战类大型网游,棋牌游戏规则性更强,操作简单,随时随地进行。主要用户群体为消费能力更强的企事业单位白领、上班族、商户老板等,男女均衡,学生群体、低学历的用户相对较少。棋牌游戏具有最稳定的用户群体,一个用户一段时间可能会对一个大的网络游戏感兴趣(通常6-9个月),但不会永远,但棋牌类游戏能保证一个用户永远喜欢和使用(玩麻将能玩一个通宵),并且我们的特色是根据合作方的需求定制本土化的特色游戏以达到适应运营商本地需要,促进人气聚集的效果。网络棋牌行业门槛
4、低、小游戏平台众多、市场混乱,棋牌游戏的良好发展和效益吸引了国内很多的投资者,总体而言,网络棋牌游戏行业在国内还属于扫盲阶段,发展空间巨大。1.2 网络游戏的发展前景Doshow视频棋牌游戏迎来发展春天,网络游戏产业连续8年快速增长,截至到2007年已经有接近100亿的市场,而休闲游戏在其中差不多占有80%左右的份额。随着休闲游戏被越来越多用户接受,它已经不仅仅是一个互动娱乐形式的产品,更是一种网络娱乐的生活状态。网络休闲游戏有着简单的操作方式和超低的进入门槛,尤其是拥有广泛用户群体的棋牌游戏,游戏内容和参与形式均为为百姓熟知,可以说老幼皆宜。此外,伴随着网络的普及和电子设备的发展,休闲游戏日
5、渐融入生活,走进千家万户,成为人们日常生活足不出户的交流和休闲娱乐平台。用户群体的增多,使更多企业进入这个市场,来使自身利益最大化。为了能占有一席之地,厂商纷纷推出自己的特色服务,视频服务被合理的融入到游戏当中,除了满足用户娱乐的基本需要,更让用户感受到face to face游戏的真实快感!作为国内最早提供视频群体聊天娱乐的聊天室平台Doshow在视频领域的应用是具有得天独厚的技术优势。如今顺势推出的这款视频棋牌游戏,就游戏本身来说,最大的特色就是在游戏的过程中同时能进行视频语音的聊天,或者共享影音娱乐,视频窗口能根据玩家的需求随意的拖动和摆放,并且选择是否打开视频。且在边游戏的同时还能点击
6、聊天大厅进入DOshow多人视频聊天室进行互动娱乐,这在同类产品中是没有的。当休闲游戏逐渐成为日常社会活动不可或缺的一部分,视频棋牌类游戏也正在渗透文化、融入生活、改变生活。其他休闲游戏平台有的这里都有,更重要的是,你可以清清楚楚地知道自己的队友和对手都长什么样、在做什么。在这个娱乐至上的社会,人们的沟通和交流无处不在吗,更不局限于字里行间的文字表达,大家要的是真实的互动。如今,Doshow休闲游戏平台,实现了运营理念和技术开发上的突破。让休闲娱乐、视频互动、聊天交友等功能融为一体,让游戏乐趣增多,视频游戏真正迎来了春天。1.3 网络五子棋的设计意义本程序旨在用JAVA实现一个基本于C/S模式
7、的五子棋网络对战游戏。玩家作为客户端通过服务器端与其它玩家进行对战,聊天等功能。通过实现本程序加深对计算机网络编程的了解。2 开发工具,环境及其技术2.1 Java介绍2.1.1 Java的诞生Java是1995年6月由Sun公司引进到这个世界的革命性的编程语言,它被美国的著名杂志PC Magazine评为1995年十大优秀科技产品。之所以称为革命性编程语言,是因为传统的软件往往与具体的实现环境有关,一旦环境有所变化就需要对软件进行一番改动,耗时费力,而Java编写的软件能在执行码上兼容。这样,只要计算机提供了Java解释器,Java编写的软件就能在其上运行。Java的出现源于对独立于平台语言
8、的需要,希望这种编程语言能编写出嵌入各种家用电器等设备的芯片上,且易于维护的程序。1990年Sun公司成立了由James Gosling领导的开发小组,开始致力于开发一种可移植的、跨平台的编程语言,该编程语言能生成正确运行与各种操作系统、各种CPU芯片上的代码。他们的精心研究和努力促成了Java的诞生。2.1.2 Java体系结构随着Java技术的不断发展,Sun公司推出了Sun ONE体系结构,它以Java语言为核心,根据市场需要进一步细分为:针对普通PC应用的J2SE(Java 2 Standard Edition)、针对企业级应用的J2EE(Java 2 Enterprise Editi
9、on)和针对嵌入式设备及消费类电器的J2ME(Java 2 Micro Edition)三个版本J2SE:Java自1996年正式发布以来,经历了出生,成长和壮大三个阶段,现在已经成为IT领域的主流编程语言。其中J2SE就是指从1.2版本开始的JDK,它为创建和运行Java程序提供了最基本的环境。J2SE中主要包括那些构成Java核心的类和接口,例如:图形界面设计、多线程、输入/输出、网络编程、数据库编程等。如图2.1显示了J2SE 5.0中基本类库的结构。Java LanguagejavaDeploymentSoundInput MethodsAccessibilityDrag in Dro
10、pImage I/OPrint ServerIDLSolarisJava Hotspot Client CompilerjavacjavadocaptjarjavapJDPAOtherSecurityIntlRMIIDLDeployMonitoringTrouble-shootingJVM TIJava Web StartJava Plug-inAWTSwingJava 2DJDBCJNDIRMIRMI-IIOPMathI/OBeansIntl SupportJMXJNlNew I/OJava Hotspot Server CompilerWindowsLinuxOtherXML JAXPNe
11、tworking Std override mechanism SerializationExtension MechanismSecurityManagementLang & UtilCollectionsJARLoggingConcurrency UtilitiesZipPreferences Ref Object Regular ExpressionsVersioningReflection图2.1 J2SE 5.0 基本类库组织结构2.1.3 Java 程序类型简介随着网络技术的不断发展,目前的应用程序除了传统的单机版之外,大多数都需要网络的支持。根据网络运行机制的不同,又分为B/S(
12、Browser/Server)结构和C/S(Client/Server)结构。B/S结构被称为浏览器/服务器模式,其最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。客户机只要安装一个浏览器,如Netscape Navigetor 或 Internet Explorer,浏览器就可以通过HTTP等通用网络协议同Web服务器进行交互。C/S结构被称为客户/服务器模式,客户端需要安装专用的客户端软件,开发人员需要进行网络编程,使客户端与服务器进行通信。C/S和B/S的结构如图2-2所示浏览器Web 服务器客户端数据库B/S模式C/S模式图2.2 C/S和B/S的结构图2.2 Acces
13、s数据库2.2.1 Access数据库基本信息Microsoft Office Access是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程式之一。Assess能够存取 Access/Jet、Microsoft SQL Server、Oracle,或者任何ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的“进阶用户”则能使用它来开发简单的应用软件。虽然它支持部份面向对象技术,但是未能成为一种完整的面向对象
14、开发工具。 其实Access 也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。2.2.2 Access数据库用途Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序这些应用程序都利用ASP技术在Internet Information Services运行比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server 它
15、的使用方便程度和强大的设计工具为初级程序员提供许多功能。不过,这种便于使用可能使人误解。这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导。 一些专业的应用程序开发人员使用 Access 用作快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透个网络存取数据的话,Access 的可扩放性并不高因此当程序被较多使用者使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows S
16、harePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。无论如何,不少 Access 的功能(表单,报告,序列和VB代码)可以用作其他数据库的后期应用,包括 JET(档案为主的数据库引擎,Access 缺省使用)、Microsoft SQL Server、Oracle和任何其他跟ODBC兼容的产品。这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的服务器而没有已经在适当的位置牺牲发展。 很多开发者谁使用Microsoft Access使用Leszynski命名约定,虽然这不普遍;它是一次编程大会,并非一个DBM
17、S实施的规章。2.3 JAVA 编程环境2.3.1 环境变量(1) java(TM) SE Development Kits,即JDK (2)设置环境变量 右击 我的电脑-属性-高级-环境变量 Path:系统在任何路径下都可以识别Java命令需要设置的变量 Path:C:Progran Filesjavajdk1.6.0_01bin classpath:为java加载类(包括class,lib)的路径,只有类在classpath中,Java命令才能识别classpath:Progran Filesjavajdk1.6.0_01libdt.jar Progran Filesjavajdk1.6.
18、0_01libtools.jar JAVA_HOME:java的安装路径 JAVA_HOME:Progran Filesjavajdk1.6.0_013 网络五子棋需求分析3.1 需求分析软件的需求分析是软件生存期中重要的一步,也是决定性的一步。只有通过需求分析才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。在此阶段,了解用户要求本软件必须满足的所有功能和限制,以及用户对软件功能和性能的要求,弄清用户想要软件“做什么”,准确地表达用户的要求。网络互联实现信息的共享成为以后计算机的发展趋势,现有的网络编程模式主要分成两类:一种是C/S模式,另一种是B/S模式;
19、C/S模式具有好的交互性,功能强大,但是客户端必须安装客户端软件,限制了其应用;B/S模式下要求客户端具有浏览器,但浏览器在安全方面有一些限制,交互性与功能有一些限制,网络五子棋系统应用与局域网,对交互性要求较高,本系统选用了C/S模式进行实现,网络内部使用TCP/IP方式利用Socket通过传输层提供的服务,使用Java进以及服务端程序,行图形用户的搭建,系统分成两个部分,分别为服务端程序以及客户端程序。五子棋网络游戏主要分为两部分,游戏服务端和游戏客户端。五子棋游戏规则:游戏双方各执一种颜色的棋子,轮流在棋盘下棋子、一方的棋子在横、竖、两个对角线上首先到达五子者为胜方;游戏服务端主要存储所
20、有连线客户的相关信息及各种状态,并负责游戏客户之间信息的传递;游戏客户端提供客户连接服务器,具有创建、加入、退出游戏等等功能,并能与互联客户进行游戏(1)功能需求1能通过网络进行下棋2符合五子棋的基本规则3提供水平坐标和垂直坐标功能4能在棋子上显示的落子的顺序数5提供多种背景6提供玩家之间的聊天功能7可自行输入用户名称8能够用户的管理,注册9提供用户下棋胜负排名统计,并且在主界面显示(2)用户界面需求1界面友好、亲切2界面简洁、不花哨3操作界面直观、不繁琐(3)五子棋的行棋规则1五子棋行棋时,黑棋先下第一子,由天元开始,后白棋在黑棋周围的交叉点的落子。接着黑方再以天元中心的25个交叉点的范围内
21、落盘面的第三子,之后黑白双方相互顺序子。2最先在棋盘线交点横向,纵向,斜向形成已方的五个棋子连续的一方为胜。3出现禁手对方指出后将判负,其中包括两个或两个以上的活三,活四,长连均称之为禁手。4禁手只对黑棋有效,白棋无禁手。5黑方禁手形成时,白方需立即指出,黑方将被判负。若白方未发现黑方禁手存在而继续应子,其后指出黑方禁手不能判黑方负。6黑方连五与禁手同时形成,因黑方已连成五即黑方已获胜,故禁手规则失效。7在对局中,一方自行中止比赛如:中途退场,将被判负。8如下至最终一子仍不分胜负则定为平局。本系统的功能能够实现一个在网络上供客户进行对战的五子棋网络游戏,客户只要登录到服务器上,就能选择任何其他
22、用户已创建好的游戏,进行五子棋对战游戏,是C/S模式的网络游戏。在C/S模式游戏中,Server一般提供所有用户的全局信息,并能提供客户之间的信息转发,客户之间的通讯必须通过Server进行。因为在多个客户能够连接到同一台Server上,所以Server必须用Thread负责每个用户的通讯和消息处理。服务器端程序通过一个Thread线程类监听客户端的连接,一旦客户连接,为该客户建立连接并启动一个特定的客户Thread,利用该连接不断从客户读取数据,实现客户和服务器或者客户与客户之间的信息的交互。客户端同样采用的是线程控制的思想,在每一个客户端连接上服务器后,就为此客户端启动一个网络收发数据线程
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 CS 模式 五子棋 网络 游戏 说明书