1、I 学 号 0121114410206 信息计算软件设计 题 目 基于 JAVA 的 五子棋游戏设计 学 院 理学院 专 业 信计 班 级 1102班 姓 名 李强 指导教师 杨文霞 2014 年 7 月 4 日 II 课程设计任务书 学生姓名: 李强 专业班级: 信计 1102 班 指导教师: 杨文霞 工作单位: 武汉理工大学 题 目 : 基于 JAVA 的五子棋游戏设计 初始条件: 学习过 c 语言程序设计, Java 语言程序设计,数据库技术,设计结构等; 要求完成的主要任务 : 随着网络的普及,益智 竞技 类小游戏越来越受到欢迎, 五子棋作为一个棋类竞技运动,在民间十分流行。本文在此背
2、景下用 Java 制作了五子棋小游戏,其中包括背景界面的显示与绘制、棋子的绘制、界面按钮功能的实现、胜负的判断、游戏时间的设置等等。 时间安排: 第 17 周星期一至五 :查阅文献,总体设计,设计算法,功能模块设计 第 18 周星期一至五 :编码和测试 第 19 周星期一至五 :写课程设计,提交初稿,给老师检查,修改定稿,答辩。 指导教师签名: 2014 年 月 日 系主任(或责任教师)签名: 2014 年 月 日 III 摘要 随着网络的不断进步,网络游戏逐渐成为人们生活中的一部分,它不仅能够使人娱乐和消遣,也能够开发人的智力,使大脑更加的灵活。五子棋作为一个棋类竞 技运动,在民间十分流行,
3、为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用 Java 开发五子棋游戏。本文所讲述的五子棋游戏通过双方的竞技,能够开发人们的才干和开发人们的智力。 本文主要采用 Eclipse 工具与 java 语言开发的五子棋小游戏,该游戏程序能够实现两个人对阵下棋,程序中能够自定义的设置双方对阵的游戏时间以及智能的判断游戏中哪方获得胜利及游戏的结束。 算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。 关键词 : java 五子棋 eclipse photoshop Abstract With the developing of network, The n
4、etwork game becomes a part within life of people gradually, It not only can make persons amusement and amusement, also can develop the persons 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
5、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 parties tournament, can develop the practical ability of people and the intelligence of development people. This paper mainly adopts Eclipse five son chess ge
6、t-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 from 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 o
7、f procedures contribute to the understanding of the structure, logical thinking ability, In other areas of artificial intelligence has great references. Key Words : java gobang games eclipse photoshop目录 摘要 . ABSTRACT . 第 1 章 绪论 . 1 1.1 JAVA 语言的介绍 . 1 1.2 JAVA 语言的特点 . 2 1.3 JAVA 的开发和运行平台 . 4 1.3.1jav
8、a 的开发环境 . 4 1.3.2 java 的编辑 环境 . 5 1.3.3 java 的运行环境 . 6 第 2 章 游戏说明 . 7 2.1 五子棋简介 . 7 2.2 五子棋游戏规则 . 8 2.3 程序流程图 与界面 . 8 第 3 章 程序分析设计 . 9 第 4 章 程序说明 . 10 4.1 主体测试类 . 10 4.2 窗体类 . 10 4.2.1 游戏界面的绘制 . 10 4.3.2 按钮功能的实现 . 10 4.3.3 胜负的判定 . 13 第 5 章游戏的调试与总结 . 14 5.1 游戏的调试 . 14 1.2 总结 . 14 附录 . 15 参考文献 . 20 武汉
9、理工大学信息计算软件设计 1 第 1 章 绪论 在本文中使用了功能比较强大的 Eclipse编程开发工 具和 java编程语言设计的五子棋程序。而 Eclipse 工具是一款免费的,开放源代码,提供编写java 程序的软件。它是由一个框架和一组服务组成的,可以通过插入组件来构建开发的环境。其中, Eclipse 还附带了一个标准的插件集,比如( Java Development Tools) JDT,是 java的开发工具等等。 1.1Java 语言的介绍 快速发展的网络技术,给人们带来了很大的机遇和挑战:比如信息的获取,资源的下载,网上购物 等, 而这些 技术上 最重要的一点就是 反映为信息
10、的获取、技术的开发、 商业 与 网络 的结合。而 java 可以满足 这些要求一在不同的平台之间 实现 低成本 的 信息传递方式。 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出 ,是一种面向对象的编程语言 。 短短的十几年间,得到飞速的发展,已经深入到网络的各个领域。 Java 语言是一个支持网络计算的面向对象程序设计语言 ,它吸取了其他编程语言的优点,增加了自己的特点。如: java applet 实现了网页的浏览。再有,它将面向对象,与平台无关,稳定性,安全性,多线程,可移植性等许多特性集于一身,给用户提供了良好的程序设计环境。对于 Java 语言来说
11、,是最合适网 络应用的开发,诸多媒体将它称为网络上的通用语言。 Java 平台由 Java 虚拟机( Java Virtual Machine)和 Java 应用编程接口( Application Programming Interface、简称 API)构成。 Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基 本部分和扩展部分。在硬武汉理工大学信息计算软件设计 2 件或操作系统平台上安装一个 Java 平台之后, Java应用程序就可运行。现在Java 平台已经嵌入了几乎所有的操作系统。这样 Java程序可以只编译一次,就可以在各种系统中运行。 1.2ja
12、va 语言的特点 面向对象 :Java 是面向对象的编程软件,将所有事物看成对象 。对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏 。在面向对象中,通过对象间的协作和交互来实现。 多线程 :多线程 技术允许在同一个程序中 可以同时进行不同的操作,处理不同的事件。不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作 ,满足了应用需求。由于多线程的出现,大大的提高了软件的运行效率,因此,在操作系统,数据库中得到广泛的使用。而对于 java 来说,本身就自带了 多线程的功能,通过 java中的 Thread类就可以实现。 动态性 :
13、Java 的设计使它适合于一个不断发展的环境。 Java 程序的基本组成单元是类,类分为两种,一种是程序员自己编写的,另一种是 java类库中提供,由程序员自行引入的。 在 程序 中可以自由地加入 用户需要实现的功能 而不会影响用户程序的执行。 Java 程序在运行的时候,所有的类都是动态加载的,这样 java 就可以在分布式环境下动态的维护程序和类库。 并且 Java通过接口来支持多重继承 ,使之比严格的类继承具有更灵活的方式和扩展性。 武汉理工大学信息计算软件设计 3 安全性 :在 Java的开发中 必 须要防止病毒的入侵 。由于 java的可移植性,安全的设计代码就非常的重要。例如:当要
14、浏览某个网站时,就需要从服务器中下载,如果网页中有恶意代码,那样对客户机就很危险。而在 java中就提供了这样的安全检测,当浏览网页时,如果发现恶意代码就回阻止,只有当通过了安全检测才能运行。再有就是 Java 不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。 可移植性 :java 实现了可跨平台功能,可移植到网络上的不同机器中运行 。同时 ,Java 提供了本身的编译器使得 java 程序在任何的硬件平台上都保持一致。 面向对象的特性 : (1)封装性 ,将数据和数据的操作都封装在一个类当中。
15、通过本类的对象,来实现需要的功能。 (2)继承性 ,一个类可以继承其父类公共属性和方法,使得代码可以重复的调用。另一个就是保持接口的一致性。 (3)多态性 ,java中的多态性表现为两种形式:方法的重载 和 方法的覆盖 (4)方法的重载, 在同一个类中方法名称相同,但参数不同。 (5)方法的覆盖 , 对于父类中的某一个方法,在子类中重新定义一个相同的方法,将 覆盖从父类中继承来的那个方法。 武汉理工大学信息计算软件设计 4 1.3 java 的开发和运行平台 java 的开发和运行环境有很多,根据自己的喜好选择自己习惯的工具就可以了。比如: Sun 公司的 JDK,NetBeans,JAVA
16、Workshop,Jcreator 等 IBM 公司的 Visual Age for Java Borland公司的 Jbuilder BEA 公司的 WebLogic Workshop Macromedia 公司的 JRUN 1.3.1java 的开发环境 Java 是由 Sun 公司发展出来的程序语言,它本身是一种面向对象程 序语言。 Java也号称是能跨平台使用的语言,这主要是因为 Java 本身被编译之后,并不是直接产生可执行的码,而是产生一种中间码叫作 ByteCode,这种码必需在透过 Java 的直译器来解读它,才能够真正的被执行,所以只要平台上装有这种 Java的直译器,就能解
17、读 ByteCode也就能执行 Java编译过的程序,因此只要在平台上安装了 java 直译器就能运行 java 程序,与在何种平台无关。在目前的市场上用的最多的就是手机上能运行的 java 游戏。对于 java所编程的程序可以分为两类: java applet 和 java application 两种。Application 是一个独立的可执行的应用程序,不需要嵌套其他就可以自行运行,比如 HotJAVA(浏览器)就是使用 java application 编写出来的。而 java applet 与 application 相反,它不能自行的运行,必须嵌套相应的工具才能运行,它可以在支持
18、java 的浏览器中运行,也就是说它必须嵌入到 HTML 文武汉理工大学信息计算软件设计 5 件中才能够运行。还有就是, java application 是在 DOS 命令方式下进行调试或者运行,而 java applet 是在浏览器环境下进行的。 1.3.2 java 的编辑环境 对于 java 的编写一般用功能强大的开源工具 Eclipse 来开发,相对较为方便, eclipse比较通用,而且支持很多插件 ,无需编译 。 Eclipse 的最大特点是它能接受由 Java 开发者自己编写的开放源代码插件,这类似于微软公司的 VisualStudio和 Sun 微系统公司的 NetBeans
19、 平台。 Eclipse 为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。 当然也可以使用其他的工具如:记事本、 Editplus 和 UltraEdit 软件等都可以用来实现。 用 Editplus软件配置 JAVA 编辑环境。打开 Editplus,选择 “工具 -参数选择 “在弹出的窗口中选择 “用户工具 “;点组名称 ,将 “组 1“改成别的名称 (当然不改也可以 ),点 “添加工具 -应用程序 “,菜单文件选项可写 “Java 编译 “,在命令中选择 JDK的 javac.exe,是在 JDK 的目录下的 bin 目录下 ;参数在下拉菜单中选择 “文件名 “,初始目录在下拉菜单中选择 “文件目录 “;在 “捕获输出 “前打勾 ,这就完成了 “Java 编译 “的配置。再点 “添加工具 -应用程序 “;菜单文件选项可写 “Java运行 “,在命令中选择 JDK的 java.exe。参数在下拉菜单中选择 “文件名 (不含扩展名 )“,初始目录在下拉菜单中选择 “文件目录 “;在 “捕获输出 “前打勾,完成了 “Java编译 “的配置 .配置完成了 ,写一个 “Hello World“来测试一下 .只要按快捷键 “Ctrl+1“,是对当前打开的文件进行编译 ;只要按快捷键 “Ctrl+2“,是运行当前文件。