Java五子棋设计报告.docx
- 文档编号:20124702
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:11
- 大小:1.93MB
Java五子棋设计报告.docx
《Java五子棋设计报告.docx》由会员分享,可在线阅读,更多相关《Java五子棋设计报告.docx(11页珍藏版)》请在冰豆网上搜索。
Java五子棋设计报告
南京晓庄学院
《JAVA程序设计》
课程设计报告
题 目:
五子棋游戏的设计与实现
姓名:
陶野
学号:
班级:
12软件工程转本2班
指导教师:
王峥
完成时间
7月1日
成绩:
信息工程学院
2015年6月
1引言1
1.1系统开发背景2
1.1系统开发的目的和意义3
1.2完成的主要工作4
2需求分析和总体设计4
2.1需求分析与设计思路5
2.1.1关键技术说明5
2.1.2需求分析5
2.1.3系统设计方案与思路5
2.1.4系统目录结构说明5
2.2系统功能结构6
3详细设计7
3.1系统模块实现9
4系统运行结果10
5课程设计总结12
五子棋游戏的设计与实现
1引言
五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。
有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。
在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:
“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。
”李善注引三国魏邯郸淳《艺经》中曰:
“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。
这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。
因而规则简单的五子棋也可能出自当时,并是用石子作棋子。
亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。
1.1系统开发背景
在计算机逐步渗入社会生活各个层面的今天,计算机已经成为了人们日常生活中的一部分,越来越多的人使用计算机办公、娱乐等等。
在这其中,系统自带的小游戏也占据了相当重要的地位,与那些网络游戏和3D游戏相比,它有编写简单容易上手等特点,非常适合人们在完成工作的时候适当的娱乐要求。
这些小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开发。
1.2完成的主要工作
设计一个15╳15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能:
1.选择黑子先下
2.设置双方下棋总共时长
3.刷新重新开始
4.悔棋
5.认输
6.退出提示
实现一个简单的多用户五子棋的游戏程序,包括如下两个界面
(1)选择对弈桌(执黑、执白)。
(2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负);
1.3需求分析与设计思路
1、用户需求调查分析
2、构思代码模块
3、总体设计
4、详细设计
5、代码编写
2需求分析和总体设计
2
3
3.1需求分析与设计思路
此系统为智力游戏,采用JAVA的MVC模式,根据不同功能划分不同模块,该五子棋游戏功能虽然简单,然是实现了人机对战,所以从这个角度来说,此款游戏能准确的计算棋局。
虽然系统不大,但是可以实现基本的五子棋功能,以及悔棋。
2.1.2需求分析
五子棋,是一种两人对弈的纯策略型棋类游戏,亦称“串珠”、“连五子”;是中国民间非常熟知的一个古老棋种。
相传,它起源于四千多年前的尧帝时期,比围棋的历史还要悠久。
亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。
五子棋发展于日本,流行于欧美。
容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
2.1.3设计方案与思路
传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为15X15,棋子放置于棋盘线交叉点上。
两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。
因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。
2.1.4系统目录结构说明
对系统包结构、文件结构列表说明,如表2-1、2-2所示。
表2-1主页面表
包名
作用
src
容纳所有文件
表2-2文件表
文件名
作用
Game.java
GameFrame.java
Cheerup.java
PaintPanel.java
运行文件
3.2系统功能结构
3.1详细设计
3.1.1系统模块实现
按钮
事件
悔棋事件
classBackimplementsActionListener
认输事件
classFailextendsJFrameimplementsActionListener
关于事件
classAboutextendsJFrameimplementsActionListener
设置事件
classSetimplementsActionListener
退出事件
classExitextendsJFrameimplementsActionListener
主要代码块:
publicclassMyChessFrameextendsJFrameimplementsMouseListener,Runnable{
//Chess类用于保存棋子信息(坐标,颜色,落子时间,落子时是否人为归零时间)
privateclassChess{
inti=0,j=0,color=0,time=0;
booleanguiLingSave=false;
}
//save集合保存Chess,用于画棋子和悔棋
ArrayList
//棋子的坐标
intx,y;
//标识当前游戏是否可以继续
booleancanPlay=true;
//标识是否是人为归零时间
booleanguiLing=true;
//背景图片
BufferedImagebgImage=null;
//右上角显示游戏信息区域的背景图片
BufferedImagemsgImage=null;
//保存之前下过的全部棋子的坐标
//其中数据内容0:
表示这个点并没有棋子,1:
表示这个点是黑子,2:
表示这个点是白子
Chess[][]allChess=newChess[16][16];
//List
//标识当前应该黑棋还是白棋下下一步
booleanisBlack=true;
//保存显示的提示信息
Stringmessage="黑方先行";
//保存最多拥有多少时间(秒)
staticintmaxTime=0;
//做倒计时的线程类
Threadt=newThread(this);
//Threadmusic=newThread(newMusic());
//保存黑方与白方的剩余时间
staticintblackTime=0;
staticintwhiteTime=0;
//保存双方剩余时间的显示信息
StringblackMessage="无限制";
StringwhiteMessage="无限制";
4、系统运行结果
a.进入游戏界面
游戏开始的界面有六个选择项,用户可以选择相应的设置
b.选择角色,开始下棋
首先达到五个棋子连在一块的赢了,并在弹窗显示谁赢了!
c.下完后,重新开始
下完一盘后游戏停止,点击重新开始,界面回到初始界面
d.悔棋
选择悔棋后,相对应位置旗子撤销
5、课程设计总结
通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。
这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。
它还让我学会了在网上查阅那些无限的资料。
由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。
对于文中出现的不足和系统中出现的问题敬请老师指导。
参考文献
1.吴其庆编著.Java程序设计实例教程.北京:
冶金工业出版社
2.柳西玲.许斌编著.Java语言应用开发基础.北京:
清华大学出版社
3.丁振凡Java语言实用教程:
北京邮电大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 五子棋 设计 报告