基于JAVA的五子棋游戏系统设计与实现(39页).doc
《基于JAVA的五子棋游戏系统设计与实现(39页).doc》由会员分享,可在线阅读,更多相关《基于JAVA的五子棋游戏系统设计与实现(39页).doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于JAVA的五子棋游戏系统设计与实现-第 31 页基于JAVA的五子棋游戏系统设计与实现专 业 电子信息工程 学 生 董永杰 指导教师 曾玉 摘 要 目前,随着计算机网络的的发展,以计算机技术和网络技术为核心的现代网络技术已经在现实生活和生产中得到了广泛的使用,已经成为多数人群的休闲方式,也为多数人所喜好。当然,为了满足没有网络同样能娱乐的要求,许多小游戏做成了单机和网络的双功能。 本软件使用JAVA语户端之间的连接,利用多线程技术言实现,通过对图形界面,绘图,布局管理器等去构造出游戏的单机功能,在此基础上,利用SCOKET的知识,建立起服务器与客来处理服务器端与客户端之间的数据传输,通信
2、问题,使得客户端和服务器端之间能够同步的进行处理。通过对软件的编写,更深入的理解了面向对象的概念,也体会到利用面向对象语言处理一些问题的优势。同时也加深了对多线程,流套接字等高级技术的理解。关键词: 多线程;流套接字;数据传输;同步。ABSTRACTAt present, With the rapid development of computer network. Taking computer technology and the network technology as the core, modern network technology is already used in the
3、 real life and the production and already became the leisure mode of the most people. And most people like them. Of course, its a pity that there still have some clients lacking of network because of various causes.In order to satisfy the above clients requirements. A large number of games ,usually
4、named as “small games” by players, are designed for involving two kinds of different function. The former game is often played by these players whose computers never connect with the network. Its called for stand-alone version games. Just as its name implies, the later is named as online version gam
5、es This software implemented with JAVA language, and according to the understanding of SCOKET ,GUI and paint image ichnology. Established in these foundation , the server co ects with the multi- client, and transmission the information between many clients using the multi-thread proceeding technolog
6、y. it is very convenient for both client and server to do the synchronous processing.Through to the software compilation, deepen understanding and grasp to the technology above understanding and holding.Key Words : multiple thread, Socket, transmission-data, synchronism.目录第一章 绪论11.1开发背景11.2课题意义11.3五
7、子棋游戏的发展与现状21.4论文的组织结构3第二章 五子棋程序相关技术介绍42.1软件的基本功能42.2开发运行环境42.3软件的开发手段以及工具的介绍42.3.1 Java简介42.3.2 MyEclipse10开发环境简介72.4软件的实现目的8第三章 五子棋程序分析与设计93.1用户需求分析93.2软件功能结构图93.3软件各个功能的简要说明103.4软件设计中使用到的JAVA软件包以及类和方法123.5 五子棋界面设计133.6 五子棋算法设计143.6.1 五子棋棋盘设计153.6.2 棋子设计163.6.3 落子算法设计173.6.4 判断输赢设计193.7 网络五子棋算法设计21
8、第四章 软件的具体实现234.1准备工作234.2游戏窗口界面的实现234.3下棋算法的实现254.4完成判断胜负的功能274.5 系统测试304.6 测试计划314.6.1 界面功能测试314.6.2 单机游戏测试324.6.3 联网游戏测试334.7 测试结果34第五章 总结与展望35致谢36附录37JIcon.java程序:37Qipan.java部分程序:37参考文献43第一章 绪论1.1开发背景 随着计算机的快速发展,各种游戏被纷纷请进了电脑。而像五子棋这类不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性的棋类游戏更是备受推崇。这使得那些喜爱下棋,又常常苦于没有对手的棋迷们
9、能随时过足棋瘾。而且这类软件个个水平颇高,大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表,其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷喜爱。 五子棋是我国古代的、传统的黑白棋种之一,大约在南北朝时期随围棋一起先后传入朝鲜、日本等地。现代五子棋日文称之为“连珠”,英译为“Ren-ju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。通过一系列的规则变化使连珠五子棋这一简单的游戏复杂化、规范化,而最终成为今天的职业连珠五子
10、棋,同时也成为一种国际比赛棋。 五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。五子棋起源于古代中国,发展于日本,风靡于欧洲。它在不同的国度也有着不同的称谓,如韩国人称其为“情侣棋”;欧洲人称其为“绅士棋”;日本人称其为“中老年棋”;美国人则喜欢将其称为“商业棋”。由此可见,尽管国度不同,语言各异,但人们都可以借助这一简单又深奥的棋艺进行交流、比赛,增进友谊。1
11、.2课题意义人类之所以不断在进步,是因为我们人类一直不断的在思考,五子棋游戏程序的开发符合人类进步也是促进人类进步的一大动力之一。五子棋游戏程序让人们方便快捷的可以下五子棋,让人们在何时都能通过下棋来提高逻辑思维能力,同时也培养儿童的兴趣以及爱好,让孩子更加聪明。同时,五子棋游戏程序的开发也使得五子棋这个游戏得到了广泛的推广,让世界各地的人们知道五子棋,玩上五子棋,这已经不是局限。五子棋游戏程序使得越来越多的人喜欢上了五子棋,热爱下五子棋,它是具有很好的带动性的。随着互联网络的不断普及,越来越多的人可以在网络上就能够与他人下五子棋了。1.3五子棋游戏的发展与现状目前,连珠这一棋类运动已迅速在国
12、际上发展起来。外国人都十分看好这一不起眼的智力游戏,并认为五子棋不仅能提高思维、开发智力、手脑并用、修身养性 而且富含哲理,具有东方的神秘和西方的直观,是中西文化的交汇点。许多国家的人对五子棋都有不同的爱称,例如韩国人把五子棋称之为“情侣棋”,言下之意是情人之间下五子棋有利于增加情感的交流;欧洲人称之为“中老年棋”,表示五子棋适合中老年人的生理特点和思维方式;美洲人喜欢将五子棋称之为“商业棋”,就是说商人谈生意时可边下棋边谈生意,棋下完了生意也谈成了。由此可见,尽管国度不同,语言各异,但人们都可以借助五子棋这一简单而又深奥的棋艺进行交流、比赛,增进友谊。当前,有多个国家和地区都在下五子棋,并有
13、各种规模和级别的比赛。年月在日本京都、年月在俄罗斯联邦的莫斯科、年月在瑞典、年月在爱沙尼亚的塔林分别举行了第一、二、三、四届世界锦标赛。除第三届的冠军是爱沙尼亚人之外,其余三届的冠军都是日本人。五子棋 的世界锦标赛,每两年举办一次,其申国竞争也十分激烈。日本目前拥有自己的五子棋职业棋手,并且对连珠(五子棋)技术的研究也相当普遍和全面,就水平也正在日益增强。同时,五子棋的理论研究与探索也呈现蓬勃发展的势头,从年第一部五子棋专著问世以来,目前,全世界有多种五子棋的书籍及期刊,分别以日文、俄文、英文、瑞典文及中文出版发行。五子棋在我国的北京、上海、天津、云南、浙江、广东、四川、湖北、辽宁、新疆、河北
14、等省(区)市都有很大的发展。北京多次举办了北京地区的五子棋赛,如“思曼杯”、“京空杯”、“奇奇童杯”、“北京第六届民族团结杯”和“北京第四岂民族运动会”的五子棋比赛。上海地区举办了“上文杯”五子棋大赛。云南省以及其他省市亦举办过许多五子棋比赛。所有这些赛事都越来越多地吸引了无数人们的关注,表明了根埴于中国的五子棋有着广泛的群众基础,是群众喜闻乐见的体育活动。而现在,很多很多游戏平台上面都有五子棋游戏供我们玩,任何游戏平台上面只要有棋牌类游戏的,那么它就有五子棋在里面,网络五子棋比赛,在联众,263,QQ游戏,UC里进行了10几年了。可见,五子棋游戏在网络上面是非常火暴的。而且在棋牌游戏里面玩家
15、人数排名总会占到很前面,不愧是风靡全球的棋牌游戏啊!在未来中,将会有越来越多的人关注五子棋,喜欢五子棋,那么将其变为商业化也会越来越多,而且还可以以教育孩子的方式来将其嵌套进去,或者用来做测试等等,可以说以后的五子棋游戏会是那么的精彩,那么的让人憧憬。那么对于它的游戏开发和发展也将会上升到举足轻重的地位去,它的发展会是相当之快的,就让我们拭目以待吧。1.4论文的组织结构本文由第一章绪论,第二章五子棋程序相关技术介绍,第三章五子棋程序分析与设计,第四章软件的具体实现,第五章总结与展望,最后由致谢、附录和参考文献八部分组成。第一章绪论由研究背景、五子棋的发展前景、五子棋程序的基本步骤和本文的组织结
16、构组成。第二章介绍软件的开发工具和和软件的基本功能,另外介绍软件所要实现的目标。第三章软件总体分析与设计。第四章详细分析软件各模块的设计与实现包括绘制棋盘、下棋功能、判断胜负、下棋信息、时间设置、认输等功能组成。第五章是总结与展望。第六章是致谢。第七章是附录。第八章是介绍参考文献。第二章 五子棋程序相关技术介绍2.1软件的基本功能1) 显示一个十五行十五列的围棋棋盘。2) 在棋盘上面在对应位置通过点击鼠标下子,棋盘上将在相应的位置上显示棋子,并且棋子在横纵交点上。3) 可以自动判断游戏是否结束,是否黑方或者是白方已经胜利,并且跳出对话框来提示玩家。4) 在游戏棋盘上方会有一个游戏信息,这个游戏
17、信息是用来提示当前是黑白双方的哪一方下子,玩家可以根据这个提示来相应的下棋,而不会导致 不清楚轮到哪一方下棋。5) 可以重新开始游戏,并且有认输功能,在下棋提示上提示哪方时点认输,哪一方就输了,并且有悔棋功能。6) 还可以对游戏时间进行设置,判断是否超出规定的时间,如果超出时间则自动判断为输。2.2开发运行环境1) 中心处理器:Intel Core i5-3230M,2.6GHZ;2) 内存:4G;3) 硬盘:750G;4) 操作系统:WINDOWS 7;5) 开发工具: MyEclipse10;6) 编程语言:JAVA。2.3软件的开发手段以及工具的介绍2.3.1 Java简介 Java 编
18、程语言的风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成
19、二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。
20、Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平台是基于 Java 语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的 C#语言。 Java技术的重要性就不讲了,从最近流行的一个统计数据上来说,目前世界上编程语言Java 、C 、VB、C+依次排名前4位,这排名本身不说明什么,但至少也是工业界对编程语言使用上一个侧面的反映。 Java编程语言与众不同之处在于:Java程序既是编译型的(转换为一种称为Java字节码的中间语言),
21、又是解释型的(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM 优化过的机器码形式;解释器是JVM 的实现。 Java具有众多优点,比如平台无关性,安全性,面向对象,健壮式,分布式等。与c+相比,Java去掉了其中的指针运算、结构、typedefs、#define、需要释放内存等功能,减少了平常出错的50%,让Java的语言功能很精炼。而且,因为Java很小,所以整个解释器只需215K的RAM,并增加了一些很有用的功能。2.3.2 MyEclipse10开发环境简介 MyEclipse10 是一个开放源代码的、基于 Java 的
22、可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,MyEclipse10 附带了一个标准的插件集,包括 Java 开发工具。MyEclipse10的本身只是一个框架平台,但是众多插件的支持使得MyEclipse10拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以MyEclipse10为框架开发自己的IDE。 MyEclipse10是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由MyEclipse10项目、MyEclipse10工具项目和MyEclipse10技术项目三个项
23、目组成,具体包括四个部分组成MyEclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,MyEclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。MyEclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。虽然大多数用户很乐于将 MyEclipse10当作 Java IDE来使用,但MyEclipse10 的目标不仅限于此。MyEclipse10还包括插件开发环境
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 五子棋 游戏 系统 设计 实现 39
限制150内