欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于Java的五子棋小游戏论文.docx

    • 资源ID:17537621       资源大小:157KB        全文页数:32页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Java的五子棋小游戏论文.docx

    1、基于Java的五子棋小游戏论文信息计算软件设计题 目基于JAVA的五子棋游戏设计课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 基于JAVA的五子棋游戏设计 初始条件: 学习过c语言程序设计,Java语言程序设计,数据库技术,设计结构等;要求完成的主要任务: 随着网络的普及,益智竞技类小游戏越来越受到欢迎,五子棋作为一个棋类竞技运动,在民间十分流行。本文在此背景下用Java制作了五子棋小游戏,其中包括背景界面的显示与绘制、棋子的绘制、界面按钮功能的实现、胜负的判断、游戏时间的设置等等。 时间安排:第17周星期一至五:查阅文献,总体设计,设计算法,功能模块设计第18周星期

    2、一至五:编码和测试第19周星期一至五:写课程设计,提交初稿,给老师检查,修改定稿,答辩。 指导教师签名: 2014年 月 日 系主任(或责任教师)签名: 2014年 月 日摘要随着网络的不断进步,网络游戏逐渐成为人们生活中的一部分,它不仅能够使人娱乐和消遣,也能够开发人的智力,使大脑更加的灵活。五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。本文所讲述的五子棋游戏通过双方的竞技,能够开发人们的才干和开发人们的智力。本文主要采用Eclipse工具与java语言开发的五子棋小游戏,该游戏程序能够实现两个人对阵下棋,程序中能

    3、够自定义的设置双方对阵的游戏时间以及智能的判断游戏中哪方获得胜利及游戏的结束。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。关键词:java 五子棋 eclipse photoshopAbstractWith the developing of network, The network game becomes a part within life of people gradually, It not only can make persons amusement and amusement, also can develop the persons

    4、intelligence, Make brain more vivid.As a sport, gobang is very popular in civil, in order to become familiar with gobang rules and techniques, and the study of simple artificial intelligence, I decide to use the Java to develope gobang games.What this text relates five son chess the game pass both p

    5、arties tournament, can develop the practical ability of people and the intelligence of development people.This paper mainly adopts Eclipse five son chess get-away dramas of the tool and java language development, The games procedure can carry out two people to play chess to, In the procedure can fro

    6、m definite constitution both parties game to time and the judgment game of intelligence in which square become champion and the be over of game. Algorithm of procedures contribute to the understanding of the structure, logical thinking ability, In other areas of artificial intelligence has great ref

    7、erences.Key Words : java gobang games eclipse photoshop摘要 Abstract 第1章绪论 11.1 Java语言的介绍 11.2 Java语言的特点 21.3 Java的开发和运行平台 41.3.1java的开发环境 41.3.2 java的编辑环境 51.3.3 java的运行环境 6第2章游戏说明 72.1 五子棋简介 72.2 五子棋游戏规则 82.3 程序流程图与界面 8第3章程序分析设计 9第4章程序说明 104.1 主体测试类 104.2 窗体类 104.2.1 游戏界面的绘制 104.3.2 按钮功能的实现 104.3.3

    8、胜负的判定 13第5章游戏的调试与总结 145.1游戏的调试 141.2 总结 14附录 15参考文献 20第1章 绪论在本文中使用了功能比较强大的Eclipse编程开发工具和java编程语言设计的五子棋程序。而Eclipse工具是一款免费的,开放源代码,提供编写java程序的软件。它是由一个框架和一组服务组成的,可以通过插入组件来构建开发的环境。其中,Eclipse还附带了一个标准的插件集,比如(Java Development Tools)JDT,是java的开发工具等等。1.1Java语言的介绍快速发展的网络技术,给人们带来了很大的机遇和挑战:比如信息的获取,资源的下载,网上购物等,而这

    9、些技术上最重要的一点就是反映为信息的获取、技术的开发、商业与网络的结合。而java可以满足这些要求一在不同的平台之间实现低成本的信息传递方式。 Java是由Sun Microsystems公司于1995年5月推出,是一种面向对象的编程语言。短短的十几年间,得到飞速的发展,已经深入到网络的各个领域。Java语言是一个支持网络计算的面向对象程序设计语言,它吸取了其他编程语言的优点,增加了自己的特点。如:java applet实现了网页的浏览。再有,它将面向对象,与平台无关,稳定性,安全性,多线程,可移植性等许多特性集于一身,给用户提供了良好的程序设计环境。对于Java语言来说,是最合适网络应用的开

    10、发,诸多媒体将它称为网络上的通用语言。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基 本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。1.2java语言的特点面向对象:Java是面向对象的编程软件,将所有事物看成对象。对象中封装了它的状

    11、态变量和方法,很好地实现了模块化和信息隐藏。在面向对象中,通过对象间的协作和交互来实现。多线程:多线程技术允许在同一个程序中可以同时进行不同的操作,处理不同的事件。不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作,满足了应用需求。由于多线程的出现,大大的提高了软件的运行效率,因此,在操作系统,数据库中得到广泛的使用。而对于java来说,本身就自带了多线程的功能,通过java中的Thread类就可以实现。动态性:Java的设计使它适合于一个不断发展的环境。Java程序的基本组成单元是类,类分为两种,一种是程序员自己编写的,另一种是java

    12、类库中提供,由程序员自行引入的。在程序中可以自由地加入用户需要实现的功能而不会影响用户程序的执行。Java程序在运行的时候,所有的类都是动态加载的,这样java就可以在分布式环境下动态的维护程序和类库。并且 Java通过接口来支持多重继承 ,使之比严格的类继承具有更灵活的方式和扩展性。安全性:在Java的开发中必须要防止病毒的入侵。由于java的可移植性,安全的设计代码就非常的重要。例如:当要浏览某个网站时,就需要从服务器中下载,如果网页中有恶意代码,那样对客户机就很危险。而在java中就提供了这样的安全检测,当浏览网页时,如果发现恶意代码就回阻止,只有当通过了安全检测才能运行。再有就是Jav

    13、a不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。可移植性:java实现了可跨平台功能,可移植到网络上的不同机器中运行。同时 ,Java提供了本身的编译器使得java程序在任何的硬件平台上都保持一致。面向对象的特性:(1)封装性,将数据和数据的操作都封装在一个类当中。通过本类的对象,来实现需要的功能。(2)继承性,一个类可以继承其父类公共属性和方法,使得代码可以重复的调用。另一个就是保持接口的一致性。(3)多态性,java中的多态性表现为两种形式:方法的重载和方法的覆盖 (4)方法的重载,在同一

    14、个类中方法名称相同,但参数不同。(5)方法的覆盖,对于父类中的某一个方法,在子类中重新定义一个相同的方法,将覆盖从父类中继承来的那个方法。1.3 java的开发和运行平台java的开发和运行环境有很多,根据自己的喜好选择自己习惯的工具就可以了。比如:Sun公司的JDK,NetBeans,JAVA Workshop,Jcreator等IBM公司的 Visual Age for JavaBorland公司的JbuilderBEA 公司的WebLogic WorkshopMacromedia公司的JRUN1.3.1java的开发环境Java是由Sun公司发展出来的程序语言,它本身是一种面向对象程序语

    15、言。Java也号称是能跨平台使用的语言,这主要是因为Java本身被编译之后,并不是直接产生可执行的码,而是产生一种中间码叫作 ByteCode,这种码必需在透过 Java 的直译器来解读它,才能够真正的被执行,所以只要平台上装有这种Java的直译器,就能解读ByteCode也就能执行Java编译过的程序,因此只要在平台上安装了java直译器就能运行java程序,与在何种平台无关。在目前的市场上用的最多的就是手机上能运行的java游戏。对于java所编程的程序可以分为两类:java applet和java application两种。Application是一个独立的可执行的应用程序,不需要嵌套

    16、其他就可以自行运行,比如HotJAVA(浏览器)就是使用java application编写出来的。而java applet与application相反,它不能自行的运行,必须嵌套相应的工具才能运行,它可以在支持java的浏览器中运行,也就是说它必须嵌入到HTML文件中才能够运行。还有就是,java application是在DOS命令方式下进行调试或者运行,而java applet是在浏览器环境下进行的。1.3.2 java的编辑环境对于java的编写一般用功能强大的开源工具Eclipse来开发,相对较为方便,eclipse比较通用,而且支持很多插件,无需编译。Eclipse的最大特点是它能

    17、接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。当然也可以使用其他的工具如:记事本、Editplus和UltraEdit软件等都可以用来实现。用Editplus软件配置JAVA编辑环境。打开Editplus,选择工具-参数选择在弹出的窗口中选择用户工具;点组名称,将组1改成别的名称(当然不改也可以),点添加工具-应用程序,菜单文件选项可写Java编译,在命令中选择JDK的javac.exe,是在JDK的目录下的bin目录下;参数在下拉

    18、菜单中选择文件名,初始目录在下拉菜单中选择文件目录;在捕获输出前打勾,这就完成了Java编译的配置。再点添加工具-应用程序;菜单文件选项可写Java运行,在命令中选择JDK的java.exe。参数在下拉菜单中选择文件名(不含扩展名),初始目录在下拉菜单中选择文件目录;在捕获输出前打勾,完成了Java编译的配置.配置完成了,写一个Hello World来测试一下.只要按快捷键Ctrl+1,是对当前打开的文件进行编译;只要按快捷键Ctrl+2,是运行当前文件。Jbulder也是java的一款开发工具,功能更全面,而且操作好多都是即见即所得的,就想VB一样方便快捷,不过它是一款收费软件,所以不是一些

    19、大公司一般不会使用它来作为java的开发工具。1.3.3 java的运行环境 通常一个程序运行的平台是一个硬件或者软件运行的环境。它的运行环境由两个部分组成:一个是Java Virtual Machine即Java虚拟机,另一部分是Java Application Programming Interface (Java API) 即Java应用程序设计接口,这两部份软件就构成了Java运行的基本的环境。Java API 是一个大的已经做好的软件集合,这个集合里有许多开发时所需要的控件,用来辅助开发。Java API和JVM整合在一起处于机器硬件之上。也就是说,Java平台把一个Java应用程序

    20、从硬件系统分离开从而很好的保证了程序的独立性。为了更好的适应开发的需要,Java的设计者们为我们提供了三种Java平台:Java 2 Micro Edition (J2ME ), Java 2 Standard Edition (J2SE)和 Java 2 Enterprise Edition (J2EE). 每一个版本都提供了丰富的开发工具箱以适应不同的开发需要。第2章 游戏说明2.1 五子棋简介五子棋是起源于中国古代的黑白棋,是一种两人对弈的纯策略型棋类游戏。容易上手,老少皆宜,而且趣味横生,引人入胜。现代五子棋又称之为“连珠”,英文称之为“Gobang”或“FIR”(Five in a

    21、Row的缩写),亦有“五子连”、“串珠”、 “五目碰”、等名称。许多国家的人对五子棋都有不同的爱称,例如,韩国人把五子棋称为“情侣棋”,暗示情人之间下五子棋有利于增加情感的交流;欧洲人称其为“绅士棋”,代表下五子棋的君子风度胜似绅士;日本人则称其为“中老年棋”,说明五子棋适合中老年人的生理特点和思维方式;美国人喜欢将五子棋称为“商业棋”,也就是说,商人谈生意时可边下棋边谈生意,棋下完了生意也谈成了。 传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为1919,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。五子棋不仅能

    22、增强思维能力,提高智力,而且有助于修身养性。它既有简单易学的特性,人们都喜闻乐见,又有深奥的技巧和高水平的国际性比赛。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”。对于五子棋与围棋的关系有两种说法,一说早于围棋,早在“尧造围棋”之前,民间就已有五子棋游戏;一说源于围棋,是围棋发展的一个分支。在中国的文化里,倍受人们的青睐。古代的五子棋的棋具与围棋相同,纵横各十七道。五子棋大约随围棋一起在我国南北朝时先后传入朝鲜、日本等地。2.2 五子棋的游戏规则1、棋盘:采用19X19的棋盘。2、下法:两人分别执黑白两色棋子,黑白轮流在棋盘上选择一个无子的交叉点落子。3、输赢

    23、判断:黑方或者白方的棋子在横、竖或斜方向上有无颗棋子连在一起胜利。2.3 程序流程图与界面程序流程图如图2.3-1所示。当程序运行后,自动进行初始化,然后进入程序的主控制器。通过鼠标的点击事件和参数的设定来调用相应的处理事件来判断哪一方落子,然后进入到游戏胜负的处理事件中判断是否获得胜利,如果胜利游戏结束,如果没有,则制再次返回到主控器中,再次判断哪一方落子。如此循环,直到游戏结束。程序运行时,所使用的操作界面,如图2.4-1所示。2.3-1 程序流程图 2.3-2游戏界面 第3章 程序分析设计在设计程序之前,我们要对五子棋游戏要完成的任务进行深入的分析,明确系统的设计任务、功能要求等。通过程

    24、序要实现的功能,设定具体的每个模块所完成的每一个功能,然后连接每一个模块来实现所需要的功能设计。五子棋游戏的功能:再点击鼠标时,可以在相应的位置显示棋子。可以自动判断游戏是否结束,是否是黑方或白方已经获胜。对游戏的时间进行设计,判断是否超出规定时间。分析程序:1、设计游戏的界面并绘制棋盘:游戏界面可以用JFrame中方法实现,绘制棋盘可以用Graphics中的方法实现。2、在棋盘范围内点击鼠标出现相应的棋子:用MouseEvent中的方法获得鼠标的位置并判断鼠标是否点击在棋盘范围内,通过取整函数,在相应网格交点处画一个相应颜色的棋子。3、判断游戏的胜负:由于在棋盘最后一个棋子落下之前游戏还在继

    25、续,所以只要判断棋盘上落下的最后一个棋子是否有五子相连即可。4、对游戏时间的设置以及按钮的功能实现:用线程来控制时间的倒计时。对按钮的功能上,用JOptionpane中的方法来实现对话框的弹出,并做相应的操作。第4章 程序说明4.1 主体测试类主要测试程序中是否出现了错误,并测试五子棋的操作界面是否可见。在主题类main方法中导入窗体类所在包后中直接调用窗体类,来实现五子棋界面的可见性以及游戏程序的运行实现。4.2 窗体类4.2.1游戏界面的绘制主要用到了两个函数,函数FiveChessFrame和函数paint。其中FiveChessFrame函数主要实现了游戏窗体的显示、窗体大小的设置、窗

    26、体显示的位置等操作。我设置的窗体大小是800*600像素的,窗体显示的位置在屏幕的正中央。函数paint主要实现了背景图片的显示、棋盘的绘制、棋子的绘制以及一些基本的游戏信息的显示。背景图片是我在网上下载后在用Photoshop处理过的,绘制的棋盘是19*19的,黑色棋子使用一个黑色的实心圆表示的,白色棋子是用白色实心圆和一个同圆心的黑色空心圆表示的。 4.2.2按钮功能的实现在按钮功能的实现中运用了鼠标监听,主要运用了函数mousePressed。开始游戏:为了防止无意中点到该按钮,我设置了“是否重新开始游戏?”的询问,如果点击“是”则游戏会被初始化,否则将继续当前游戏。如下图4.2-1。

    27、图4.2-1:开始游戏 图4.2-2:游戏设置1游戏设置:该按钮可以设置游戏双方最大的游戏时间。点击该按钮会弹出设置时间的窗口,如图4.2-2,可以输入游戏时间,之后会有“设置完成,是否重新开始游戏?”的询问,如图4.2-3,开始游戏后,若某一方的时间减为0时,则会弹出该方超时,游戏结束的窗口,如图4.2-4。 图4.2-3:游戏设置2 图4.2-4:游戏设置3游戏说明:该按钮简单的说明了五子棋游戏的规则,如图4.2-5。 图4.2-5:游戏说明 图4.2-6:认输1认输:该按钮提供了认输的功能。为了防止无意中点到该按钮,我设置了“是否认输?”的询问,如果点击“是”则游戏会结束并弹出游戏的结果

    28、,否则将继续当前游戏。 图4.2-7:认输2 图4.2-8:游戏结束关于:简单的介绍了该游戏。退出:退出游戏,同时结束程序。4.2.3胜负的判定游戏的胜负判定用到了两个函数checkWin和 checkCount。函数checkWin是boolean型的,在本函数中调用了函数checkCount,如果五子连珠则函数checkWin返回值为真则表示游戏结束,否则继续游戏。函数checkCount是用来检验是否有五子相连的。同过判定刚刚落下的棋子周围是否有大于五个的同色棋子与该棋子相连成线判断游戏是否结束,如图4.2-8。第5章 游戏的调试与总结5.1游戏的调试(1)屏幕闪烁问题:运用双缓冲技术解

    29、决。(2)点击棋盘边界会有数组越界问题:是在判断胜负的函数中,用到了数组下标的加减法。在数组下标加减之前先判断一下是否越界。(3)游戏开始时背景图片加载较慢出现黑屏:在paint方法开始前就先调用一遍该方法。5.2总结通过对五子棋游戏的编写,我更深刻的掌握了JAVA语言的内容及Eclipse的应用,锻炼了自己动手能力和思维能力,明白了如何去分析和设计一个题目,在实际的设计过程中,在网络和书籍上查询了很多相关的知识,也懂得了这些知识,并能够灵活的运用。同时也注意到平时学习上的问题,让我深刻反思,深知自己的储备的知识还远远的不足,必须得继续学习下去。我也学会了如何去培养我们的不畏困难的挑战精神,从

    30、而不断地战胜自己,超越自己,我在这一设计过程中,学会了坚持不懈,不轻言放弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。在此程序中,也有很多改善的地方。比如:可以将一方设置成电脑自动落子,也可以添加背景音乐,就像QQ游戏那样。在这次毕业设计中,我学习到了很多关于编程的知识和一些电脑的常识,提高了动手能力和思维能力。附录源程序主体测试类package org.liky.game. fivechess;import org.liky.game.frame.FiveChessFrame;public clas

    31、s FiveChess public static void main(String args) FiveChessFrame ff=new FiveChessFrame();窗体类package org.liky.game.frame;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.JFrame;import javax.swing.JOptionPane;public class FiveChessFrame extends JFrame implements MouseListener,Runnable /


    注意事项

    本文(基于Java的五子棋小游戏论文.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开