2022年基于JAVA的五子棋游戏系统设计与实现.pdf

上传人:Che****ry 文档编号:14568846 上传时间:2022-05-05 格式:PDF 页数:46 大小:1.29MB
返回 下载 相关 举报
2022年基于JAVA的五子棋游戏系统设计与实现.pdf_第1页
第1页 / 共46页
2022年基于JAVA的五子棋游戏系统设计与实现.pdf_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《2022年基于JAVA的五子棋游戏系统设计与实现.pdf》由会员分享,可在线阅读,更多相关《2022年基于JAVA的五子棋游戏系统设计与实现.pdf(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、基于 JAVA的五子棋游戏系统设计与实现基于 JAVA 的五子棋游戏系统设计与实现专业电子信息工程学生董永杰指导教师曾玉精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现摘 要目前, 随着计算机网络的的发展, 以计算机技术与网络技术为核心的现代网络技术已经在现实生活与生产中得到了广泛的使用, 已经成为多数人群的休闲方式, 也为多数人所喜好。当然, 为了满足没有网络同样能娱乐的要求, 许多小游戏做成了单机与网

2、络的双功能。本软件使用 JAVA语户端之间的连接 , 利用多线程技术言实现 , 通过对图形界面, 绘图, 布局管理器等去构造出游戏的单机功能, 在此基础上 , 利用 SCOKET 的知识, 建立起服务器与客来处理服务器端与客户端之间的数据传输, 通信问题 , 使得客户端与服务器端之间能够同步的进行处理。通过对软件的编写 , 更深入的理解了面向对象的概念, 也体会到利用面向对象语言处理一些问题的优势。同时也加深了对多线程, 流套接字等高级技术的理解。关键词: 多线程 ; 流套接字 ; 数据传输 ; 同步。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归

3、纳 - - - - - - - - - -第 2 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现ABSTRACT At 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 real life and the production and already

4、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 named as “small games ” by players, are de

5、si gned for involving two kinds of different function、 The former game is often played by these players whose computers never connect with the network、 It s called for stand-alone version games 、 Just as its name implies, the later is named as online version games This software implemented with JAVA

6、 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 technology 、 it is very convenient for both cli

7、ent 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 、精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - -

8、 -第 3 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现目录第一章 绪论 . 1 1、1 开发背景 . 1 1、2 课题意义 . 1 1、3 五子棋游戏的发展与现状. 2 1、4 论文的组织结构. 3 第二章 五子棋程序相关技术介绍. 4 2、1 软件的基本功能. 4 2、2 开发运行环境. 4 2、3 软件的开发手段以及工具的介绍. 4 2、3、1 Java 简介 . 4 2、3、2 MyEclipse10 开发环境简介 . 6 2、4 软件的实现目的. 7 第三章 五子棋程序分析与设计. 8 3、1 用户需求分析. 8 3、2 软件功能

9、结构图. 8 3、3 软件各个功能的简要说明. 9 3、4 软件设计中使用到的JAVA软件包以及类与方法. 11 3、5 五子棋界面设计 . 12 3、6 五子棋算法设计 . 13 3、6、1 五子棋棋盘设计 . 14 3、6、2 棋子设计 . 15 3、6、3 落子算法设计 . 16 3、6、4 判断输赢设计 . 18 3、7 网络五子棋算法设计. 20 第四章 软件的具体实现. 22 4、1 准备工作 . 22 4、2 游戏窗口界面的实现. 22 4、3 下棋算法的实现. 24 4、4 完成判断胜负的功能. 26 4、5 系统测试 . 28 4、6 测试计划 . 29 4、6、1 界面功能

10、测试 . 29 4、6、2 单机游戏测试 . 30 4、6、3 联网游戏测试 . 31 4、7 测试结果 . 32 第五章 总结与展望 . 33 致谢 . 34 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现附录 . 35 JIcon 、java 程序: . 35 Qipan、java 部分程序 : . 35 参考文献 . 41精品资料 - - - 欢迎下载 - - - - - - - - - - -

11、欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现第一章绪论1、1 开发背景随着计算机的快速发展 , 各种游戏被纷纷请进了电脑。而像五子棋这类不仅能增强思维能力 , 提高智力 , 而且富含哲理 , 有助于修身养性的棋类游戏更就是备受推崇。这使得那些喜爱下棋, 又常常苦于没有对手的棋迷们能随时过足棋瘾。而且这类软件个个水平颇高, 大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军 - 卡斯帕罗夫的 “深蓝”便就是最具说服力的代表 , 其它像围棋的 “手淡” 、象棋的“将族”等也以其优

12、秀的人工智能深受棋迷喜爱。五子棋就是我国古代的、传统的黑白棋种之一, 大约在南北朝时期随围棋一起先后传入朝鲜、日本等地。现代五子棋日文称之为“连珠”, 英译为“ Ren-ju ”, 英文称之为“ Gobang ”或“FIR”(Five in a Row的缩写), 亦有“连五子”、 “五子连”、 “串珠” 、 “五目” 、“五目碰”、 “五格”等多种称谓。 通过一系列的规则变化使连珠五子棋这一简单的游戏复杂化、规范化 , 而最终成为今天的职业连珠五子棋, 同时也成为一种国际比赛棋。五子棋既有现代休闲的明显特征“短、平、快”, 又有古典哲学的高深学问“阴阳易理” ; 它既有简单易学的特性 , 为人

13、民群众所喜闻乐见 , 又有深奥的技巧与高水平的国际性比赛 ; 它的棋文化源渊流长 , 具有东方的神秘与西方的直观; 既有“场”的概念 , 亦有“点”的连接。它就是中西文化的交流点, 就是古今哲理的结晶。五子棋起源于古代中国 , 发展于日本 , 风靡于欧洲。 它在不同的国度也有着不同的称谓 , 如韩国人称其为“情侣棋”; 欧洲人称其为“绅士棋”; 日本人称其为“中老年棋” ; 美国人则喜欢将其称为“商业棋”。由此可见 , 尽管国度不同 ,语言各异 , 但人们都可以借助这一简单又深奥的棋艺进行交流、比赛, 增进友谊。1、2 课题意义人类之所以不断在进步, 就是因为我们人类一直不断的在思考, 五子棋

14、游戏程序的开发符合人类进步也就是促进人类进步的一大动力之一。五子棋游戏程序让人们方便快捷的可以下五子棋, 让人们在何时都能通过下棋来提高逻辑思维能力, 同时也培养儿童的兴趣以及爱好, 让孩子更加聪明。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现同时, 五子棋游戏程序的开发也使得五子棋这个游戏得到了广泛的推广, 让世界各地的人们知道五子棋, 玩上五子棋 , 这已经不就是局限。 五子棋游戏程序使得越来越多

15、的人喜欢上了五子棋, 热爱下五子棋 , 它就是具有很好的带动性的。 随着互联网络的不断普及 , 越来越多的人可以在网络上就能够与她人下五子棋了。1、3 五子棋游戏的发展与现状目前, 连珠这一棋类运动已迅速在国际上发展起来。外国人都十分瞧好这一不起眼的智力游戏 , 并认为五子棋不仅能提高思维、开发智力、手脑并用、修身养性 而且富含哲理 , 具有东方的神秘与西方的直观, 就是中西文化的交汇点。许多国家的人对五子棋都有不同的爱称, 例如韩国人把五子棋称之为“情侣棋”,言下之意就是情人之间下五子棋有利于增加情感的交流; 欧洲人称之为“中老年棋”, 表示五子棋适合中老年人的生理特点与思维方式; 美洲人喜

16、欢将五子棋称之为“商业棋” , 就就是说商人谈生意时可边下棋边谈生意, 棋下完了生意也谈成了。由此可见 , 尽管国度不同 , 语言各异 , 但人们都可以借助五子棋这一简单而又深奥的棋艺进行交流、比赛, 增进友谊。当前, 有多个国家与地区都在下五子棋, 并有各种规模与级别的比赛。年月在日本京都、年月在俄罗斯联邦的莫斯科、年月在瑞典、年月在爱沙尼亚的塔林分别举行了第一、二、三、四届世界锦标赛。除第三届的冠军就是爱沙尼亚人之外, 其余三届的冠军都就是日本人。五子棋的世界锦标赛 , 每两年举办一次 , 其申国竞争也十分激烈。日本目前拥有自己的五子棋职业棋手, 并且对连珠 (五子棋 ) 技术的研究也相当

17、普遍与全面 , 就水平也正在日益增强。同时, 五子棋的理论研究与探索也呈现蓬勃发展的势头 , 从年第一部五子棋专著问世以来, 目前, 全世界有多种五子棋的书籍及期刊, 分别以日文、俄文、英文、瑞典文及中文出版发行。五子棋在我国的北京、上海、天津、云南、浙江、广东、四川、湖北、辽宁、新疆、河北等省 (区) 市都有很大的发展。北京多次举办了北京地区的五子棋赛,如“思曼杯”、“京空杯”、“奇奇童杯”、“北京第六届民族团结杯”与“北京第四岂民族运动会”的五子棋比赛。上海地区举办了“上文杯”五子棋大赛。云南省以及其她省市亦举办过许多五子棋比赛。所有这些赛事都越来越精品资料 - - - 欢迎下载 - -

18、- - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现多地吸引了无数人们的关注, 表明了根埴于中国的五子棋有着广泛的群众基础,就是群众喜闻乐见的体育活动。而现在 , 很多很多游戏平台上面都有五子棋游戏供我们玩, 任何游戏平台上面只要有棋牌类游戏的 , 那么它就有五子棋在里面, 网络五子棋比赛 , 在联众,263,QQ 游戏,UC里进行了 10 几年了。可见 , 五子棋游戏在网络上面就是非常火暴的。而且在棋牌游戏里面玩家人数排名总会占到很前面, 不愧就

19、是风靡全球的棋牌游戏啊!在未来中, 将会有越来越多的人关注五子棋, 喜欢五子棋 , 那么将其变为商业化也会越来越多, 而且还可以以教育孩子的方式来将其嵌套进去, 或者用来做测试等等 , 可以说以后的五子棋游戏会就是那么的精彩, 那么的让人憧憬。那么对于它的游戏开发与发展也将会上升到举足轻重的地位去, 它的发展会就是相当之快的 , 就让我们拭目以待吧。1、4 论文的组织结构本文由第一章绪论 , 第二章五子棋程序相关技术介绍, 第三章五子棋程序分析与设计 , 第四章软件的具体实现 , 第五章总结与展望 , 最后由致谢、附录与参考文献八部分组成。第一章绪论由研究背景、 五子棋的发展前景、 五子棋程序

20、的基本步骤与本文的组织结构组成。第二章介绍软件的开发工具与与软件的基本功能, 另外介绍软件所要实现的目标。第三章软件总体分析与设计。第四章详细分析软件各模块的设计与实现包括绘制棋盘、下棋功能、 判断胜负、下棋信息、时间设置、认输等功能组成。第五章就是总结与展望。第六章就是致谢。第七章就是附录。第八章就是介绍参考文献。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现第二章五子棋程序相关技术介绍2、1 软件的

21、基本功能1) 显示一个十五行十五列的围棋棋盘。2) 在棋盘上面在对应位置通过点击鼠标下子, 棋盘上将在相应的位置上显示棋子, 并且棋子在横纵交点上。3) 可以自动判断游戏就是否结束, 就是否黑方或者就是白方已经胜利, 并且跳出对话框来提示玩家。4) 在游戏棋盘上方会有一个游戏信息, 这个游戏信息就是用来提示当前就是黑白双方的哪一方下子 , 玩家可以根据这个提示来相应的下棋, 而不会导致不清楚轮到哪一方下棋。5) 可以重新开始游戏 , 并且有认输功能 , 在下棋提示上提示哪方时点认输,哪一方就输了 , 并且有悔棋功能。6) 还可以对游戏时间进行设置, 判断就是否超出规定的时间, 如果超出时间则自

22、动判断为输。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 编程语言的风格十分接近C、C+ 语言。Java 就是一个纯的面向对象的程序设计语言 , 它继承了 C+ 语言面向对象技术的核心 ,Java 舍弃了 C +语言中容易引起错误的指针( 以引用取代 ) 、运算符重载 (operator overloading)、多

23、重继承 (以接口取代 ) 等特性 , 增加了垃圾回收器功能用于回收精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现不再被引用的对象所占据的内存空间, 使得程序员不用再为内存管理而担忧。在Java SE 1、5 版本中 ,Java 又引入了泛型编程 (Generic Programming)、类型安全的枚举、不定长参数与自动装/ 拆箱等语言特性。 Java 不同于一般的编译执行计算机语言与解释执行计算机语言

24、。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码, 从而实现了“一次编译、到处执行”的跨平台特性。不过, 每次的编译执行需要消耗一定的时间, 这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1、4、2 发布后 ,Java 的执行速度有了大幅提升。与传统程序不同 ,Sun 公司在推 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“ Java 语言靠群体的力量而非公司的力量”就是 Sun 公司的口号之一 , 并获得了广大软件开发商的认同。 这与微软公司

25、所倡导的注重精英与封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释就是:Java 编程语言就是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程与动态的语言。 Java 平台就是基于 Java 语言的平台。这样的平台目前非常流行, 因此微软公司推出了与之竞争的、NET平台以及模仿 Java 的 C#语言。 Java技术的重要性就不讲了 , 从最近流行的一个统计数据上来说, 目前世界上编程语言 Java 、C 、VB 、C+ 依次排名前 4位, 这排名本身不说明什么 ,但至少也就是工业界对编程语言使用上一个侧面的反映。 Java编程语言与众不同之处在于

26、:Java 程序既就是编译型的 ( 转换为一种称为 Java 字节码的中间语言 ), 又就是解释型的 (JVM 对字节码进行解析与运行)。编译只进行一次 , 而解释在每次运行程序时都会进行。编译后的字节码采用一种针对 JVM 优化过的机器码形式 ; 解释器就是 JVM 的实现。 Java具有众多优点 , 比如平台无关性 , 安全性, 面向对象 , 健壮式 , 分布式等。与 c+相比,Java 去掉了其中的指针运算、结构、typedefs 、#define 、需要释放内存等功能 , 减少了平常出错的50%,让 Java 的语言功能很精炼。 而且, 因为Java 很小, 所以整个解释器只需215K

27、的 RAM, 并增加了一些很有用的功能。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现2、3、2 MyEclipse10 开发环境简介 MyEclipse10 就是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言 , 它只就是一个框架与一组服务, 用于通过插件组件构建开发环境。幸运的就是 ,MyEclipse10 附带了一个标准的插件集, 包括 Java 开发工具。MyEclipse1

28、0 的本身只就是一个框架平台, 但就是众多插件的支持使得MyEclipse10 拥有其她功能相对固定的IDE软件很难具有的灵活性。 许多软件开发商以 MyEclipse10 为框架开发自己的IDE。 MyEclipse10 就是一个开放源代码的软件开发项目 , 专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由MyEclipse10 项目、 MyEclipse10 工具项目与MyEclipse10 技术项目三个项目组成 , 具体包括四个部分组成MyEclipse Platform 、JDT 、CDT与 PDE 。JDT支持 Java 开发、 CDT支持 C开发、 PD

29、E用来支持插件开发 ,MyEclipse Platform 则就是一个开放的可扩展IDE, 提供了一个通用的开发平台。它提供建造块与构造并运行集成软件开发工具的基础。MyEclipse Platform允许工具建造者独立开发与她人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束 , 而另一个工具功能在哪里开始。虽然大多数用户很乐于将 MyEclipse10 当作 Java IDE 来使用 , 但MyEclipse10 的目标不仅限于此。 MyEclipse10 还包括插件开发环境 (Plug-in Development Environment,PDE), 这个组件主要针对希望扩展 MyE

30、clipse10 的软件开发人员 , 因为它允许她们构建与MyEclipse10 环境无缝集成的工具。由于MyEclipse10 中的每样东西都就是插件, 对于给 MyEclipse10 提供插件 , 以及给用户提供一致与统一的集成开发环境而言, 所有工具开发人员都具有同等的发挥场所。MyEclipse SDK( 软件开发者包 )就是 MyEclipse Platform、JDT与 PDE所生产的组件合并 , 它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境 , 允许开发者有效地建造可以无缝集成到MyEclipse Platform中的工具。MyEclipse SDK由 MyE

31、clipse10 项目生产的工具与来自其它开放源代码的第三方软件组合而成。 MyEclipse10 项目生产的软件以 GPL发布, 第三方组件有各自自身的许可协议。 MyEclipse10 的基础就是富客户机平台(Rich Client Platform, 即 RCP) 。RCP包括下列组件 : 核心平台 ( 启动 MyEclipse10, 运行插件 ) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现

32、OSGi(标准集束框架 ) SWT( 可移植构件工具包 ) JFace(文件缓冲 , 文本处理 , 文本编辑器 ) MyEclipse10 工作台 ( 即 Workbench , 包含视图 (views) 、编辑器(editors)、视角 (perspectives)、与向导 (wizards) MyEclipse10 采用的技术就是 IBM公司开发的 (SWT),这就是一种基于 Java的窗口组件 , 类似 Java 本身提供的 AWT 与 Swing 窗口组件 ; 不过 IBM声称 SWT 比其她 Java 窗口组件更有效率。 MyEclipse10 的用户界面还使用了GUI中间层JFac

33、e, 从而简化了基于 SWT 的应用程序的构建。 MyEclipse10 的插件机制就是轻型软件组件化架构。在富客户机平台上, MyEclipse10 使用插件来提供所有的附加功能 , 例如支持 Java 以外的其她语言。已有的分离的插件已经能够支持C/C+(CDT) 、Perl 、Ruby,Python、telnet与数据库开发。插件架构能够支持将任意的扩展加入到现有环境中, 例如配置管理 , 而决不仅仅限于支持各种编程语言。MyEclipse10 的设计思想就是 : 一切皆插件。 MyEclipse10 核心很小 , 其它所有功能都以插件的形式附加于MyEclipse10 核心之上。 My

34、Eclipse10 基本内核包括: 图形 API (SWT/Jface), Java开发环境插件 (JDT ), 插件开发环境 (PDE)等2、4 软件的实现目的五子棋游戏程序所要实现的目的就是让我们可以在电脑上下棋, 而不需要去买, 可以随时玩 , 也可以联机对战 , 方便快捷。而且能更好的推广五子棋于世界各地, 此软件也在于提供给爱好五子棋的人, 也吸引更多的人喜欢上五子棋, 也具有很大的商业价值。使五子棋游戏程序在以后的制作中功能越来越强大, 外观越来越好瞧。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - -

35、 -第 12 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现第三章五子棋程序分析与设计3、1 用户需求分析通过软件功能的分析 , 根据五子棋爱好者的需求 , 得出以下需求信息 : 1. 具有重新开始功能 ; 2. 具有认输功能 ; 3. 具有提示该轮到哪一方下棋的功能; 4. 退出游戏功能 ; 5. 判断胜负功能 ; 6. 时间设置功能 ; 7. 五子棋难度选择功能 ; 8. 联机功能。还有用户对游戏界面的要求, 通过上述的用户需求 , 可以得出一个总体的设计方案。由上述的用户需要, 可以对程序的基本功能进行一个有效的分析, 规定下游戏的基本

36、功能。3、2 软件功能结构图此五子棋程序最主要的五大功能就是: 下棋, 判断胜负 , 重新开始与认输 , 联网游戏的设置与五子棋难度的选择。大体的功能如图3-1: 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现图 3-1 五子棋功能设定图3、3 软件各个功能的简要说明1. 绘制十五行十五列的棋盘 : 首先就是每行每列的距离都就是一样的,并且棋盘上面有五个星 , 棋盘中间有个天元点 , 跟围棋的棋盘一样

37、。2. 点击鼠标以后 , 会在相应位置落下棋子 , 并被绘制出来 , 黑子就是一个实心的黑圆 , 白子就是一个实心的白圆加上一个等大空心的黑圆。棋子落在交点上 : 我们在下五子棋棋的时候, 棋子都就是会落在交点上的, 而并非落在格子里面 , 那么我们就要规定当我点击鼠标时, 选取距五子棋程序棋盘的设计下棋方法的判定落子的设计输赢的判定游戏提示联机对完设计选择难度精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计

38、与实现离鼠标所取点的最近的左上交点为绘制棋子的中心点, 那么就可以实现棋子落在交点上了。3. 黑白双方轮流落子 : 黑方落子以后就要轮到白方, 交替进行 , 这就是下棋的基本要求 , 因此我们就要弄一个互斥事件进去, 让她们交替的落子。不能落在相同位置 : 当我们落子时 , 会不小心落到相同位置上去,那么就要出现提示 , 不能落在相同位置上 , 需要重新落子 , 实现的设想就是当这个点已经绘制过棋子以后, 我们就要给一个布尔变量, 让它为假, 那么只能在它为真时才能绘制棋子, 否则就要重新落子到别的地方去。4. 判断输赢 : 当五个相同颜色子都连在了一起的时候, 我们就要判其为赢, 这五个子可

39、以在横竖方向上连起, 也可以在斜方向上连起。5. 游戏信息 : 我们应该在棋盘的上面设置一个游戏信息的, 用来提示当前轮到哪一方下棋了 , 以便于玩家知道谁在下 , 这个功能只要在黑白双方轮流下棋功能的过程中添加一个提示信息用于显示到界面上的就可以了。6. 重新开始游戏就就是把棋盘上的子全部清空, 回复到一开始的时候的状态, 重置之前所有的数据。认输的功能就就是在判断输赢功能的基础上添加的 , 让玩家对自己没信心的时候使用。退出游戏的功能就就是直接把窗口关闭就可以了。7. 游戏难度选择 : 游戏难度选择就是由玩家自主选择的与电脑下五子棋的一个重要方法。可以根据自身的下棋水平来选择与那种电脑来下

40、。难度分为三种 , 分别就是 : 简单、中等与困难。而且电脑的思维就是根据难度提升而提升。8. 联机对战 : 联机对战就是为了方便玩家与玩家相互之间切磋棋艺而设定的一大功能模块 , 可以在一个局域网里面 , 然后联机对战。当双方建立联系以后 , 点击开始就可以进行联网对战了。这极大的提高了五子棋的娱乐程度。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现3、4 软件设计中使用到的JAVA 软件包以及类与

41、方法在用 JAVA设计软件的时候 , 使用到 SUM 公司提供的一些软件包 , 这样使得我们编写程序更加简便 , 以下就是使用到的软件包 : Javax、swing、JFrame /javax、swing 软件包提供一组“轻量级”( 全部就是 Java 语言)组件, 尽量让这些组件在所有平台上的工作方式都相同。JFrame 类就是 java 、awt、Frame 的扩展版本 , 该版本添加了对 JFC/Swing 组件架构的支持。 JFrame 就是用来创建窗体的swing 类, 用来创建一个图形界面的原始窗口 , 并且可以设置其大小 , 位置等属性 , 就是 swing 编程的基础类之一。J

42、ava、awt /java、awt 软件包包含用于创建用户界面与绘制图形图像的所有类。Java、awt、Toolkit /Toolkit此类就是所有 Abstract Window Toolkit 实际实现的抽象超类。 Toolkit 的子类被用于将各种组件绑定到特定本机工具包实现。Toolkit、geiDefaultToolkit()、getScreenSize()、width; Toolkit、geiDefaultToolkit()、getScreenSize()、height; /以上这两个方法的作用就是取得我们电脑显示屏幕的宽度以及高度。geiDefaultToolkit()为获取默认

43、工具包 , 如果名为 java 、awt、headless 的系统属性被设置为 true,则使用 Toolkit 的 headless 实现。 如果不存在java 、awt、headless 或 java 、awt、headless 被设置 false,且存在名为awt 、 toolkit 的系统属性 , 则该属性将被视为 Toolkit 子类的名称 ; 否则将使用特定于平台的默认 Toolkit 实现。 getScreenSize()这个方法就是获取屏幕的大小。 在具有多个显示屏的系统上, 使用主显示屏。从 GraphicsConfiguration 与 GraphicsDevice 可以获

44、得多屏幕感知显示尺寸。Javax、swing、JOptionPane / JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框Java、awt、event 、MouseListener /MouseLinstener 就是鼠标监听 ,功能就是接收用户通过鼠标所做的操作, 可以取得用户点击鼠标的坐标, 从而进行其她的操作。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现Grap

45、hics 类, 它的功能就是类似于画笔的功能, 用来在窗口中绘制文字以及图形等。她的调用就是通过覆写JFrame 的 paint() 方法来使用的 , 通过repaint() 方法来调用。Java、io 、File /这个就是产生中断并且调用文件用到的类。Java、io通过数据流、序列化与文件系统提供系统输入与输出。File 类文件与目录路径名的抽象表示形式。Java、awt、image、BufferedImage /BufferedImage 子类描述具有可访问图像数据缓冲区的 Image。BufferedImage 由图像数据的 ColorModel 与Raster 组成。 Raster

46、的 SampleModel 中 band 的数量与类型必须与ColorModel 所要求的数量与类型相匹配, 以表示其颜色与 alpha 分量。所有BufferedImage 对象的左上角坐标都为 (0, 0)。因此 , 用来构造BufferedImage 的任何 Raster 都必须满足 :minX=0 且 minY=0。 可以用来调用一个图片作为我们下棋的背景图片使用。3、5 五子棋界面设计开始开发游戏的第一步就就是先制作出游戏的窗口界面, 一个漂亮美丽大方的游戏界面 , 往往先能吸引玩家去尝试 , 所以这个地方不能够马虎。 首先我们得按照大家的习惯 , 也就就是游戏风格。按照国人的五子棋

47、游戏风格。一般就是在木质的棋盘上下, 这样能够显示出棋类游戏的沉稳、 大气而又不失典雅的气质。 所以我们设计界面的时候需要按照木质棋盘的颜色来设计底色。在一般的五子棋游戏比赛中, 需要有比赛的信息显示 , 方便下棋者与观瞧者根据信息思考。所以在我们设计的界面上, 必要的信息就是不可缺少的。国人多喜欢把棋盘放在左边 , 然后右边显示下棋的信息 , 所以设计棋盘的时候应该按照国人的喜好摆放位置。基本流程如图3-2 所示: 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 46 页 - - - -

48、- - - - - - 基于 JAVA的五子棋游戏系统设计与实现棋盘的设计棋盘的底色下棋信息显示设计棋盘位置的摆放设计完毕图 3-2 五子棋界面设计流程图综上所述 , 棋盘的设计就是以木质颜色为棋盘底色, 画上棋盘线条 , 把棋盘摆设在左边 , 然后再右边添加下棋的信息, 如: 状态, 时间显示 , 开始游戏等一些按钮。3、6 五子棋算法设计五子棋算法设计可以包括如图3-3 所示设计 : 五子棋算法设计棋盘设计棋子设计落子设计输赢判断图 3-3 五子棋算法设计图五子棋的算法设计包括棋盘设计, 棋子设计 , 落子设计以及输赢判断。 能设计出这精品资料 - - - 欢迎下载 - - - - - -

49、 - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现四个算法 , 一个基本的五子棋算法就算完成了。3、6、1 五子棋棋盘设计五子棋棋盘设计可以使用JAVA自带的画图算法。设计成十五行十五列的小型棋盘即可 , 然后按照围棋棋盘的设定 , 画上天元以及天星等标记, 那么此棋盘就已经设计完成了。设计图如下 : 设置棋盘边界设子棋盘底色,并且设置线条颜色行设置一个整值,初始值为 0,且每次运行自动加 1是否大于 14否列设置一个整值,初始值为 0,且每次运行自动加 1

50、是是否大于 14否找准棋盘线条交叉点画上天元、天星是棋盘完成图 3-4 棋盘设计流程图棋盘设计如上图所示 , 首先就是设计棋盘大小 , 然后设计棋盘底色 ( 这里设计底色一般为木质颜色 , 如: 蜡黄色 ) 与线条颜色 , 接下来就可以画棋盘线条了, 执行一个精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 46 页 - - - - - - - - - - 基于 JAVA的五子棋游戏系统设计与实现循环, 循环次数为 15 次, 画出行线 , 然后再执行一个 15 次循环 , 画列线。最后找到相

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com