雅典奥运会闭幕式中国8分钟-
信息计算软件设计
基于
JA
V
A
题
目
的五子棋游戏设计
I
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
题
目
:
基于
JAVA
的五子棋游戏设计
初始条件:
学习过
c
语言程序设计,
Java
语言程序设计,数据库 技术,设计结构等;
要求完成的主要任务
:
随着网络的普及,
益智竞技类小游戏越来越受到欢迎,
五子棋作 为一个棋类竞技运动,
在民间十分
流行。本文在此背景下用
Java
制作了五 子棋小游戏,其中包括背景界面的显示与绘制、棋子的绘制、
界面按钮功能的实现、胜负的判断、游戏时 间的设置等等。
时间安排:
第
17
周星期一至五:查阅文献,总体设计,设计算法,功能模块设计
第
18
周星期一至五:编码和测试
第
19
周星期 一至五:写课程设计,提交初稿,给老师检查,修改定稿,答辩。
指导教师签名:
2014
年
月
日
系主任(或责任教师)签名:
2014
年
月
日
II
摘要
随着网络的不断进步,网络游戏逐渐成为人们生活中 的一部分,它不仅
能够使人娱乐和消遣,也能够开发人的智力,使大脑更加的灵活。五子棋作
为 一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及
研究简单的人工智能,决定用< br>Java
开发五子棋游戏。本文所讲述的五子棋游
戏通过双方的竞技,能够开发人们的才 干和开发人们的智力。
本文主要采用
Eclipse
工具与
jav a
语言开发的五子棋小游戏,
该游戏程序
能够实现两个人对阵下棋,程序中能够自定义 的设置双方对阵的游戏时间以
及智能的判断游戏中哪方获得胜利及游戏的结束。算法的研究有助于理解程
序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。
关键词
:
java
五子棋
eclipse
photoshop
III
Abstract
With the developing of network, The network game becomes a part within
life of people gradually, It not only can make person's amusement and amusement,
also
can
develop
the
person's
intelligence,
Make
brain
more
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 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 get- away dramas of the tool
and java language development, The game's 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 of 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
J
AVA
语言的介绍
........................ .................................................. ....................................
1
1.2
J
AVA
语言的特点
.
... .................................................. .................................................. .......
2
1.3
J
AVA
的开发和运行平台
.
............ .................................................. ....................................
4
1.3.1java
的开发环境
....................... .................................................. ..............................
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
章程序说明
.
..... .................................................. .................................................. .................
1
0
4.1
主体测试类
.................................... .................................................. ...............................
1
0
4.2
窗体类
.......................... .................................................. .................................................
1
0
4.2.1
游戏界面的绘制
.
.................................................. ................................................
1
0
4.3.2
按钮功能的实现
.
.................................................. ................................................
1
0
4.3.3
胜负的判定
.
.. .................................................. .................................................. ....
1
3
第
5
章游戏的调试与总结
.< br>............................................... .................................................. .........
1
4
5.1
游戏的调试
.
................................................. .................................................. ..................
1
4
1.2
总结
....................................... .................................................. ........................................
1
4
附录
.
................... .................................................. .................................................. .......................
1
5
参考文献
.
........................................... .................................................. .........................................
2
0
武汉理工大学信息计算软件设计
第
1
章
绪论
在本文中使用了功能比较强大的
Eclipse
编程开发工具和
java
编程语言
设计的五子棋程序 。而
Eclipse
工具是一款免费的,开放源代码,提供编写
java
程序 的软件。它是由一个框架和一组服务组成的,可以通过插入组件来
构建开发的环境。其中,
Ec lipse
还附带了一个标准的插件集,比如(
Java
Development Tools
)
JDT
,是
java
的开发工具等等。
1.1Java
语言的介绍
快速发展的网络技术,给人们带来了很大的机遇 和挑战:比如信息的获
取,资源的下载,网上购物等,而这些技术上最重要的一点就是反映为信息
的获取、技术的开发、商业与网络的结合。而
java
可以满足这些要求一在不
同的 平台之间实现低成本的信息传递方式。
Java
是由
Sun Micro systems
公司于
1995
年
5
月推出,是一种面向对象
的编程语言。短短的十几年间,得到飞速的发展,已经深入到网络的各个领
域。
Java语言是一个支持网络计算的面向对象程序设计语言,它吸取了其他
编程语言的优点,增加了自己的特 点。如:
java applet
实现了网页的浏览。
再有,它将面向对象,与平台无 关,稳定性,安全性,多线程,可移植性等
许多特性集于一身,
给用户提供了良好的程序设计环 境。
对于
Java
语言来说,
是最合适网络应用的开发,诸多媒体将它称为网 络上的通用语言。
Java
平台
由
Java
虚拟机
(
Java
Virtual
Machine
)
和
Java
应用编程接口
(
Application
Programming Interface
、简称
API
)构成。
Java
应用编程接口 为
Java
应用
提供了一个独立于操作系统的标准接口,可分为基
本部分和扩展部分。在硬
1
武汉理工大学信息计算软件设计
< br>件或操作系统平台上安装一个
Java
平台之后,
Java
应用程序就 可运行。
现在
Java
平台已经嵌入了几乎所有的操作系统。这样
Java< br>程序可以只编译一次,
就可以在各种系统中运行。
1.2java
语言的特点
面向对象
:Java
是面向对 象的编程软件,
将所有事物看成对象。
对象中封
装了它的状态变量和方法,很好地实现 了模块化和信息隐藏。在面向对象中,
通过对象间的协作和交互来实现。
多线程:
多线程技术允许在同一个程序中可以同时进行不同的操作,处理
不同的事件。不同的线程 处理不同的任务,他们之间互不干涉,不会由于一
处等待影响其他部分,这样容易实现网络上的实时交互 操作,满足了应用需
求。由于多线程的出现,大大的提高了软件的运行效率,因此,在操作系统,
数据库中得到广泛的使用。而对于
java
来说,本身就自带了多线程的功能,
通过
java
中的
Thread
类就可以实现。
动态性
:Java
的设计使它适合于一个不断发展的环境。
Java
程序的基本
组 成单元是类,类分为两种,一种是程序员自己编写的,另一种是
java
类库
中提供, 由程序员自行引入的。在程序中可以自由地加入用户需要实现的功
能而不会影响用户程序的执行。
Java
程序在运行的时候,所有的类都是动态
加载的,
这样
java就可以在分布式环境下动态的维护程序和类库。
并且
Java
通过接口来支持多重继承
,
使之比严格的类继承具有更灵活的方式和扩展
性。
2
武汉理工大学信息计算软件设计
安全性
:
在
J ava
的开发中必须要防止病毒的入侵。
由于
java
的可移植性,
安全的设计代码就非常的重要。例如:当要浏览某个网站时,就需要从服务
器中下载,如果网页中有恶意 代码,那样对客户机就很危险。而在
java
中就
提供了这样的安全检测,当浏览网页 时,如果发现恶意代码就回阻止,只有
当通过了安全检测才能运行。再有就是
Java
不支持指针,一切对内存的访问
都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访 问
对象的私有成员,同时也避免了指针操作中容易产生的错误。
可移植性
: java
实现了可跨平台功能,可移植到网络上的不同机器中运
行。
同时
, Java
提供了本身的编译器使得
java
程序在任何的硬件平台上都保
持一 致。
面向对象的特性
:
(1)
封装性
,
将数据 和数据的操作都封装在一个类当中。通过本类的对象,
来实现需要的功能。
(2)< br>继承性
,
一个类可以继承其父类公共属性和方法,使得代码可以重复
的调用。另 一个就是保持接口的一致性。
(3)
多态性
,java
中的多态性 表现为两种形式:方法的重载和方法的覆盖
(4)
方法的重载,在同一个类中方法名称相同,但参数不同。
(5)方法的覆盖,对于父类中的某一个方法,在子类中重新定义一个相同
的方法,将覆盖从父类中继承来 的那个方法。
3
武汉理工大学信息计算软件设计
1.3 java
的开发和运行平台
java
的开发和运行环境有很多,根据自己的 喜好选择自己习惯的工具就
可以了。比如:
Sun
公司的
JDK,NetBeans,JAVA Workshop,Jcreator
等
IBM
公司的
Visual Age for Java
Borland
公司的
Jbuilder
BEA
公司的
WebLogic Workshop
Macromedia
公司的
JRUN
1.3.1java
的开发环境
Java
是由
Sun公司发展出来的程序语言,它本身是一种面向对象程序语
言。
Java
也号称是能 跨平台使用的语言,
这主要是因为
Java
本身被编译之后,
并不是直接产生 可执行的码,而是产生一种中间码叫作
ByteCode
,这种码必
需在透过
Java
的直译器来解读它,才能 够真正的被执行,所以只要平台上
装有这种
Java
的直译器,
就能解读ByteCode
也就能执行
Java
编译过的程序,
因此只要在平台上 安装了
java
直译器就能运行
java
程序,与在何种平台无
关。 在目前的市场上用的最多的就是手机上能运行的
java
游戏。对于
java
所编程的程序可以分为两类:
java applet
和
java applicat ion
两种。
Application
是一个独立的可执行的应用程序,
不需 要嵌套其他就可以自行运
行,
比如
HotJAVA
(浏览器)
就是使 用
java
application
编写出来的。
而
java < br>applet
与
application
相反,它不能自行的运行,必须嵌套相 应的工具才能
运行,它可以在支持
java
的浏览器中运行,也就是说它必须嵌入到< br>HTML
文
4
武汉理工大学信息计算软件设计
件中才能够运行。还有就是,
java application
是在
DOS
命令方式下进行调
试或者运行,而
java applet
是在浏览器环境下进行的。
1.3.2 java
的编辑环境
对于
java
的编写一般用功能强大的开源工 具
Eclipse
来开发,相对较为
方便,
eclipse
比较通用 ,而且支持很多插件,无需编译。
Eclipse
的最大特
点是它能接受由
J ava
开发者自己编写的开放源代码插件,这类似于微软公司
的
VisualStud io
和
Sun
微系统公司的
NetBeans
平台。
Ecl ipse
为工具开发商
提供了更好的灵活性,使他们能更好地控制自己的软件技术。
当然也可以使用其他的工具如:记事本、
Editplus
和
UltraEd it
软件等
都可以用来实现。
用
Editplus
软件配 置
JAVA
编辑环境。
打开
Editplus
,
选择
工具
->
参数
选择
在弹出的窗口中选择
用户工具
;点组名称
,
将
组
1
改成别的名 称
(
当
然不改也可以
)
,点
添加工具
->
应用程序
,菜单文件选项可写
编译
,
在命 令中选择
JDK
的
,
是在
JDK
的目录下的
bin
目录下
;
参数在下拉
菜单中选择
文件名
, 初始目录在下拉菜单中选择
文件目录
在
捕获输出
< br>前打勾
,
这就完成了
编译
的配置。再点
添加工具
->
应用程序
菜单文
件选项可写
运行
,在命令中选择
JDK
的
。参数在下拉菜单中
选择
文件名
(
不含扩展名
)
初始目录在下拉菜单中选择
文件目录
在
捕
获输出
前打勾,
完 成了
编译
的配置
.
配置完成了
,
写一个< br>
World
来测试一下
.
只要按快捷键
,是对当前打 开的文件进行编译
;
只要按
快捷键
,是运行当前文件。
5
武汉理工大学信息计算软件设计
Jbulder
也 是
java
的一款开发工具,功能更全面,而且操作好多都是即
见即所得的,就想VB
一样方便快捷,不过它是一款收费软件,所以不是一些
大公司一般不会使用它来作为< br>java
的开发工具。
1.3.3 java
的运行环境
通常一个程序运行的平台是一个硬件或者软件运行的环境。它的运行环
境由两个部分组成:一个 是
Java Virtual Machine
即
Java
虚拟机,另一部
分是
Java Application Programming Interface (Java API)
即
Java
应用程
序设计接口,这两部份软件就构成了
Java
运行的 基本的环境。
Java API
是
一个大的已经做好的软件集合,这个集合里有许多 开发时所需要的控件,用
来辅助开发。
Java
API
和
JVM< br>整合在一起处于机器硬件之上。
也就是说,
Java
平台把一个
Jav a
应用程序从硬件系统分离开从而很好的保证了程序的独立
性。
为了更好的适应开发的 需要,
Java
的设计者们为我们提供了三种
Java
平
台:
Java
2
Micro
Edition
(J2ME
),
Java
2
Standard
Edition
(J2SE)
和
Java
2 Enterprise Edition (J2EE).
每一个版本都提供了丰富的开发工具箱以适
应不同的开发需要。
6
武汉理工大学信息计算软件设计
第
2
章
游戏说明
2.1
五子棋简介
五子棋是起源于中国古代的黑白棋,是一种两人对弈的纯策略型棋类游< br>戏。容易上手,老少皆宜,而且趣味横生,引人入胜。现代五子棋又称之为
“连珠”
,英 文称之为“
Gobang
”或“
FIR
”
(Five
in
a
Row
的缩写
)
,亦有“五
子连”
、
“串珠”
、
“五目碰”
、等名称。许多国家的人对五子棋都有不同的爱称,例如,韩国人把五子棋称为“情侣棋”
,暗示情人之间下五子棋有利于增
加情感的交流 ;
欧洲人称其为
“绅士棋”
,
代表下五子棋的君子风度胜似绅士;
日 本人则称其为“中老年棋”
,说明五子棋适合中老年人的生理特点和思维方
式;美国人喜欢将五 子棋称为“商业棋”
,也就是说,商人谈生意时可边下棋
边谈生意,棋下完了生意也谈成了。< br>
传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为
19
×
19
,棋
子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖
或 斜线的
5
个或
5
个以上同色棋子连成不间断的一排者为胜。
五子棋不仅能增强思维能力,提高智力,而且有助于修身养性。它既有
简单易学的特性,人们都喜闻乐 见,又有深奥的技巧和高水平的国际性比赛。
五子棋既有现代休闲的明显特征
“短、
平 、
快”
,
又有古典哲学的高深学问
“阴
阳易理”
。
对于五子棋与围棋的关系有两种说法,一说早于围棋,早在“尧造围棋”
之前,民间就已有五子 棋游戏;一说源于围棋,是围棋发展的一个分支。在
中国的文化里,倍受人们的青睐。古代的五子棋的棋 具与围棋相同,纵横各
7
武汉理工大学信息计算软件设计
十七道。五子棋大约随围棋一起在我国南北朝时先后传入朝鲜、日本等地。
2.2
五子棋的游戏规则
1
、棋盘
:
采用
19X19
的棋盘。
2
、下法
:
两人分别执黑白两色棋子
,
黑白轮流在棋盘上选择一个无子 的交
叉点落子。
3
、输赢判断
:
黑方或者白方的棋子在横 、竖或斜方向上有无颗棋子连在
一起胜利。
2.3
程序流程图与界面
程序流程图如图
2.3-1
所示。当程序运行后 ,自动进行初始化,然后进
入程序的主控制器。通过鼠标的点击事件和参数的设定来调用相应的处理事< br>件来判断哪一方落子,然后进入到游戏胜负的处理事件中判断是否获得胜利
,
如果胜利游 戏结束,如果没有,则制再次返回到主控器中,再次判断哪一方
落子。如此循环,直到游戏结束。
程序运行时,所使用的操作界面,如图
2.4-1
所示。
2.3-1
程序流程图
2.3-2
游戏界面
8
武汉理工大学信息计算软件设计
第
3
章
程序分析设计
在设计程序之前,我们要对五子棋游戏要完成的任务进行深入的分析,
明确系统的设计任务、功能要求等。通过程序要实现的功能,设定具体的每
个模块所完成的每一 个功能,然后连接每一个模块来实现所需要的功能设计。
五子棋游戏的功能:
再点击鼠标时,可以在相应的位置显示棋子。
可以自动判断游戏是否结束,是否是黑方或白方已经获胜。
对游戏的时间进行设计,判断是否超出规定时间。
分析程序:
1
、设计游戏的界面并绘制棋盘:游戏界面可以用
JFrame
中方法实现,
绘 制棋盘可以用
Graphics
中的方法实现。
2
、在棋盘范围内 点击鼠标出现相应的棋子:用
MouseEvent
中的方法获
得鼠标的位置并判断鼠 标是否点击在棋盘范围内,通过取整函数,在相应网
格交点处画一个相应颜色的棋子。
3
、判断游戏的胜负:由于在棋盘最后一个棋子落下之前游戏还在继续,
所以只要判断棋盘上 落下的最后一个棋子是否有五子相连即可。
4
、
对游戏时间的设置以及按钮 的功能实现:
用线程来控制时间的倒计时。
对按钮的功能上,用
JOptionpan e
中的方法来实现对话框的弹出,并做相应
的操作。
9
武汉理工大学信息计算软件设计
第
4
章
程序说明
4.1
主体测试类
主要测试程序中是否出现了错误,并测试五子棋的操作界面是否可见。< br>在主题类
main
方法中导入窗体类所在包后中直接调用窗体类,来实现五子棋
界面的可见性以及游戏程序的运行实现。
4.2
窗体类
4.2.1
游戏界面的绘制
主要用到了两个函数,函数
FiveC hessFrame
和函数
paint
。
其中
FiveC hessFrame
函数主要实现了游戏窗体的显示、
窗体大小的设置、
窗体显示的位 置等操作。我设置的窗体大小是
800*600
像素的,窗体显示的
位置在屏幕的正中 央。
函数
paint
主要实现了背景图片的显示、棋盘的绘制、棋子的绘制 以及
一些基本的游戏信息的显示。背景图片是我在网上下载后在用
Photoshop
处
理过的,绘制的棋盘是
19*19
的,黑色棋子使用一个黑色的实心圆表示的,白色棋子是用白色实心圆和一个同圆心的黑色空心圆表示的。
4.2.2
按钮功能的实现
在按钮功能的实现中运用了鼠标监听,主要运用 了函数
mousePressed
。
开始游戏:
为了防止无意中点 到该按钮,
我设置了
“是否重新开始游戏?”
的询问,如果点击“是”则游戏会被初始 化,否则将继续当前游戏。如下图
4.2-1
。
10
武汉理工大学信息计算软件设计
图
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
。
11
武汉理工大学信息计算软件设计
图
4.2-5
:游戏说明
图
4.2-6
:认输
1
认输:该按钮提供了认输的功能 。为了防止无意中点到该按钮,我设置
了“是否认输?”的询问,如果点击“是”则游戏会结束并弹出游 戏的结果,
否则将继续当前游戏。
图
4.2-7
:认输
2
图
4.2-8
:游戏结束
关于:简单的介绍了该游戏。
退出:退出游戏,同时结束程序。
12
武汉理工大学信息计算软件设计
4.2.3
胜负的判定
游戏的胜负判定用到了两个函数
checkWin
和
checkCount
。
函数
checkWin
是
boo lean
型的,
在本函数中调用了函数
checkCount
,
如< br>果五子连珠则函数
checkWin
返回值为真则表示游戏结束,否则继续游戏。
函数
checkCount
是用来检验是否有五子相连的。同过判定刚刚落下的棋
子周围是否有大于五个的同色棋子与该棋子相连成线判断游戏是否结束,如
图
4.2- 8
。
13
武汉理工大学信息计算软件设计
第
5
章
游戏的调试与总结
5.1
游戏的调试
(
1)
屏幕闪烁问题:运用双缓冲技术解决。
(2)
点击 棋盘边界会有数组越界问题:是在判断胜负的函数中,用到了数
组下标的加减法。在数组下标加减之前先 判断一下是否越界。
(3)
游戏开始时背景图片加载较慢出现黑屏:在
pa int
方法开始前就先调
用一遍该方法。
5.2
总结
< br>通过对五子棋游戏的编写,
我更深刻的掌握了
JAVA
语言的内容及
E clipse
的应用,锻炼了自己动手能力和思维能力,明白了如何去分析和设计一个题
目,在 实际的设计过程中,在网络和书籍上查询了很多相关的知识,也懂得
了这些知识,并能够灵活的运用。同 时也注意到平时学习上的问题,让我深
刻反思,深知自己的储备的知识还远远的不足,必须得继续学习下 去。我也
学会了如何去培养我们的不畏困难的挑战精神,从而不断地战胜自己,超越
自己,我在 这一设计过程中,学会了坚持不懈,不轻言放弃。设计过程,也
好比是我们人类成长的历程,常有一些不 如意,也许这就是在对我们提出了
挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
在此程序中,也有很多改善的地方。比如:可以将一方设置成电脑自动
落子,也可以添加 背景音乐,就像
游戏那样。在这次毕业设计中,我学习
到了很多关于编程的知识和 一些电脑的常识,提高了动手能力和思维能力。
14
雅典奥运会闭幕式中国8分钟-
雅典奥运会闭幕式中国8分钟-
雅典奥运会闭幕式中国8分钟-
雅典奥运会闭幕式中国8分钟-
雅典奥运会闭幕式中国8分钟-
雅典奥运会闭幕式中国8分钟-
雅典奥运会闭幕式中国8分钟-
雅典奥运会闭幕式中国8分钟-
本文更新与2021-01-27 06:06,由作者提供,不代表本网站立场,转载请注明出处:http://www.xapfxb.com/yuer/429899.html
-
上一篇:java 含类图 五子棋小游戏
下一篇:网络棋牌游戏详细设计说明书