斗地主游戏(网络版)的设计与实现.doc
《斗地主游戏(网络版)的设计与实现.doc》由会员分享,可在线阅读,更多相关《斗地主游戏(网络版)的设计与实现.doc(54页珍藏版)》请在沃文网上搜索。
1、目 录摘 要4Abstact5第1章 概 述61.1课题研究的目的和意义61.1.1 课题来源61.1.2 目的71.1.3 意义71.2 国内外研究现状综述:71.3研究内容:71.3.1设计原理71.3.2方案选择81.4 本选题研究技术要求、研究方法和要解决的关键问题81.4.1 技术要求81.4.2 研究方法91.4.3 要解决的关键问题9第2章 系统开发环境与网络通信技术92.1 开发工具的选择92.1.1 良莠不齐的开发工具92.2 Visual C+编程特点112.2.1 C+语言112.2.2 Visual C+ 6.0简介112.3 Windows sockets简介112.
2、3.1 Windows Sockets规范112.3.2 Windows Sockets通信程序的基本流程12第3章 需求分析133.1 需求分析133.1.1 需求分析的作用133.2.2 需求分析过程143.1.3 需求分析的方法143. 2 可行性分析15321 可行性分析的意义15322 可行性分析报告153. 3 系统定义163. 4 系统的组成和功能构想:163. 5 研究方法163.5.1 软件工程的定义163.5.2 软件工程的模型173.5.3 本系统的研究方法18第4章 概要设计194.1 系统总体设计方案194.1.1 C/S模式194.1.2 设计原则194.2 基于C
3、/S的模块设计204.2.1 服务器端模块设计204.2.2 客户端模块设计214.3 相关技术的处理应用234.3.1 面向连接的套接字编程234.3.2 数据格式转换的问题24第5章 详细设计与系统实现265.1 服务器端各功能模块的实现265.1.1 服务器的启动功能265.1.2 接收连接请求功能275.1.3 数据捕获功能285.2 客户端各功能模块的实现295.2.1 登录功能功能295.2.2数据接收功能305.2.3 显示信息功能305.2.4 游戏退出功能33第6章 系统测试与维护346. 1 系统测试的原则346. 2 测试过程及方法356. 3 本系统测试环境366. 4
4、 测试中的BUG及问题总结366. 5 软件的维护37结 束 语38致 谢39主要参考文献40附录A 部分源程序清单41附录B 网络斗地主的规则简介55摘 要 “斗地主”是流行于湖北一带的一种扑克游戏,玩法简单,娱乐性强,老少皆宜。据传在万恶的旧社会,地主横行乡里,无恶不做,人们为了发泄对地主的痛恨,常常在一天的劳作之后,一家人关起门来斗地主。该游戏由三个人玩,用一副或两副牌,地主为一方,其余两家为另一方,双方对战,先出完牌的一方获胜。本设计以一副牌规则为准.本论文讲述了网络斗地主的游戏算法的设计,游戏通讯部分的开发(多线程,socket)的设计过程。flash UI部分由Wesly.Alle
5、n 实现并提供部分代码。本设计采用Microsoft Visual C+ 6.0 作为开发工具,结合socket 编程,使用flash mx 开发游戏界面。设计过程中,首先建立系统的应用模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的可行系统。关键字:网络斗地主;服务器;客户端;socket编程;AbstactStruggle is a popular Hubei along a poker game, the rules simple, entertaining strong, popular between young and
6、 old ages. Rumor has it that the social evils of the old landlord run rampant, not evil, people to vent their hatred of the landlord, often in a day of crafts, a person behind closed doors Struggle. The game played by three individuals, with a card or two and landowners on one side and the remaining
7、 two for the other, the two sides war, End First the licensing party wins,designing to a licensing rules. This thesis described a network of the game Landlords algorithm design, communications part of the game development (multithreading, socket) of the design process. The process of flash UI realiz
8、ed by Wesly.Allen and provide some code. The design using Microsoft Visual C + + 6.0 as a development tool, with socket programming, using the FLASH MX to develop the user interface. Designing process, first step is the establishment of application model, and then on the basis of this iterative dema
9、nd, detailed design has been refined and perfected, through repeated testing and debugging test eventually reached the design requirements of the system viable. Keywords : network Landlords; Server; Client ;socket programming; 第1章 概 述1.1课题研究的目的和意义1.1.1 课题来源 随着电脑软硬件技术和互联网的飞速发展,电脑游戏也突飞猛进,成功游戏不断涌现。比较成熟
10、的项目主要有:反恐精英(CS)、星际争霸、魔兽争霸2、FIFA2003、帝国时代、FIFA2004等等。这时也出现了越来越多的网络小游戏,休闲类项目包括网络围棋、中国象棋、四国军棋、桥牌、麻将、拱猪、拖拉机、斗地主等。我曾经在一家公司从事PC游戏的开发,本设计的程序既是以当时的一个程序为蓝本,稍加修改而得。1.1.2 目的 网络小游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通,通过游戏还可以认识更多的朋友,也可以到达跨省、跨市,甚至跨国间人们互相娱乐的目的。 另外也通过本毕业设计将四年来所学的专业知识和其他方面的知识
11、融入到实际应用中。 1.1.3 意义 通过此次课题的设计,掌握制作一个游戏软件的方法,以及制作游戏软件的整个流程,制作游戏软件的步骤,为以后的就业工作打下基础。 1.2 国内外研究现状综述:删除网络游戏正处于加速发展周期中,中国网络游戏市场迅速扩大,近三年的年均增长率超过100%。网络游戏的告诉发展,逐渐引起了我国政府的高度重视,信息产业部、文化部、新闻出版总属署等相关部门都在积极推动各项市场监管和鼓励网络游戏产业发展的政策措施的出台,2003年网络游戏首次被正式纳入国家863计划,标志着我国网络游戏产业已经的得到政府的充分重视。除外,在网络游戏产业发展的同时,有力带动了相关行业的发展,如软件
12、、计算机、通信、电信运营、互联网等,根据统计,网络游戏能够带动10倍于自身产值的相关行业的发展。预计未来三年,中国游戏时常规模?仍将保持60%以上的告诉增长,至2010年市场规模将接近1000亿元,而多样的资本运作模式将成为网络游戏产业发展的重要推动力。同时,手机游戏、家用游戏机、游戏传媒、电子竞技等游戏周边行业也将快速发展起来。1.3研究内容:1.3.1设计原理本设计采用客户机服务器模式,网络上的任何一台计算机都可以连接到服务器,当连接成功时,则分别点击准备以待游戏的开始,当对战各方都准备后程序自动判定游戏开始。游戏开始后,各方都有自己的游戏区域,互不干扰,当一方出完全部的牌则向各个玩家发送
13、游戏结束信息,并在各方显示相关提示信息,游戏过程中,各方都会显示对家和自己还剩下未出去的牌数。 游戏规则是模仿网络上普通的斗地主游戏,主要是自己打的牌是否大过参照牌的问题。当前,前提是点击张数相同的牌,若点击的是牌数不相同,或者选择的牌型不同,或者牌面不够大,则不可以打出去,并提示玩家错误信息。否则,可以将牌打出去,并在各方游戏区域显示牌。游戏过程,任意一家(假设为A方)打出牌后必须同时向其他玩家发送出牌的信息。其他各方(假设为B或C方)在获取信息后即显示A方剩余的牌数,当A方剩余牌数为0,则提示A方胜利。其他各方失败的信息。 1.3.2方案选择在概要设计阶段,只要有两?中方案可供选择: (1
14、)各方都有自己的游戏区域,互不干扰,谁先出完全部的牌就为胜出的一方,同时不管其他各方是否已经出完全部的牌,游戏仍然结束。 (2)在前一个方案的基础上加入“showhand” 键组,只要玩家点击某个showhand键,就可以在游戏结束时,将自己的该局得分乘以相应的倍数。在第二种方案中,各方都有机会选择自己得分的翻番倍数,这样虽然可以增加玩家的新鲜感和带来刺激,但是,可能会引起玩家的赌徒心理,而不益于青少年的身心健康。在网络上流行的斗地主游戏或者其他的游戏都是以第一种方案为设计思想,对第二种方案设计的游戏的规则可能会不太习惯,玩起来就不能达到娱乐的目的了。所以我们放弃第二种方案的设计思想,参考网络
15、上流行的斗地主的游戏规则,设计出第一种方案。 1.4 本选题研究技术要求、研究方法和要解决的关键问题1.4.1 技术要求 网络中任意计算机当运行该游戏软件时,要当客户机,要主动去连接服务器。当玩家完成登陆后,方可准备游戏;服务器能自动判断是否所有玩家都已经准备就绪,从而决定是否发牌;游戏中能正确判断玩家出牌是否合法,是否可以打出去(比参照牌大,就可以打出去)、能正确判断游戏是否已经结束和哪一方玩家胜出。还可顺利发消息给对方和接收对方发来的消息。 1.4.2 研究方法按照软件开发的总过程进行设计,经历定义和计划、需求分析、软件设计、软件编码、软件测试等过程。 1.4.3 要解决的关键问题 开始制
16、作游戏时,主要要解决的问题有以下几个方面:如何设置整个游戏的界面;如何控制斗地主游戏中每个玩家牌的随机生成,以保证各个玩家有公平的机会拿到任何一张牌;游戏开始后,判断哪个玩家可以开始叫地主,第二个或第三个是否可以叫地主,能叫几分;还有如何发牌的问题,每个玩家该拿几张牌,发牌顺序是怎样的,以及有玩家竞争到地主时,将底牌发送过去给地主;如何连接网络上的三台计算机实现网络对战,如何判断游戏是否结束以及输赢问题等。 第2章 系统开发环境与网络通信技术2.1 开发工具的选择古语云:工欲善其事,必先利其器。利用一系列高效的、具有良好可视化的编程工具去开发各种数据库软件,从而达到事半功倍的效果,所以开发工具
17、的选择显得非常重要。2.1.1 良莠不齐的开发工具随着计算机技术不断发展,各种编程工具也随着发展,但是现在市面上的数据库编程工具门类众多,优良不齐,比如VB、PB、DELPHI、C+ Builder、VC、JAVA等。我们先来了解一下各类开发工具。VB,全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。VB开发效率高,代码执行效率一般,但是入门和学习速度快,有较好的学习氛围和帮助书籍和帮助文档。但是随着微软的.NET技术的推广,VB将会逐渐退出历史舞台。PB,全称PowerBuilder,是开发MIS系统和各类数据库跨平台的首选,使用简单,容易学习,容易掌握
18、,在代码执行效率上也有相当出色的表现。但是PB的高级编程书籍的缺乏和基础语言PowerScript的普及程度对PB的明天有一定的限制。DELPHI/ C+Builder它们都是基于VCL库的可视化开发工具,它们在组件技术的支持、数据库支持、系统底层开发支持、网络开发支持、面向对象特性等各方面都有相当不错的表现,并且学习使用较为容易,充分提现了所见即所得的可视化开发方法,开发效率高。,它们所作的最大不足之处就是他们的帮助系统在众多的编程工具中是属于比较差的。JAVA工具,目前比较出名的是Borland出的JBuilder和IBM出的Visual Age for Java,两种工具。适用于开发除了
19、系统软件、驱动程序、高性能实时系统、大规模图像处理以外所有的应用。在一般的管理信息系统中和一般的数据库开发中,很少有人会选择JAVA。但是JAVA的强大网络功能和真正的面向对象特性决定了JAVA的未来,JAVA将在一个较为长期的时段里可以与微软家族抗衡。Visual C+,是基于MFC库的可视化的开发工具,从总体上说它是一个功能强大但是不便使用的一种工具。它在网络开发和多媒体开发都具有不俗的表现,帮助系统也做得非常不错(Microsoft 在细节方面的处理往往都让人觉得亲切),从功能上讲除了跨平台应用外什么都可开发;从开发效率角度讲只局限于开发windows系统应用、可重用组件及驱动程序。 又
20、因为有微软的支持,其自身的基础语言的普及程度高,以及其代码的执行效率高等特性、VC自带强大帮助文档和大量优质教材,VC在开发工具中始终可以稳住阵角。由于除了有些语言不是很熟悉外,而且是第一次开发网络游戏,对语言的驾驭能力还很有限,我选择了帮助功能非常强大的Microsoft (微软)的Visual C+作为我的开发工具。2.2 Visual C+编程特点2.2.1 C+语言C+是由C语言发展而来,是面向对象程序设计语言之一. C+语言是一种应用较广的面向对象的程序设计语言,使用它可以实现面向对象的程序设计。面向对象的设计与面向过程的设计是有很大区别的,面向对象的程序设计是在面向过程的程序设计的
21、基础上一个质的飞跃。2.2.2 Visual C+ 6.0简介Visual C+是Microsoft公司的Visual Studio开发工具箱中的一个C+程序开发包。VisualStudio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC+, Visual Basic, Visual Foxpro, Visual InterDev, Visual J+以及其他辅助工具,如代码管理工具Visual SourceSafe和联机帮助系统MSDN。Visual C+包中除包括C+编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。 从最早期的1.
22、0版本,发展到最新的6.0版本,Visual C+已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。最新的6.0版本在编译器、MFC类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。 2.3 Windows sockets简介2.3.1 Windows Sockets规范Windows Sockets规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Micosoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用W
23、indows消息驱动机制进行编程。 Windows Sockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。 遵守这套Windows Sockets规范的网络软件,我们称之为Windows Sockets兼容的,而W
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地主 游戏 网络版 设计 实现