欢迎来到天天文库
浏览记录
ID:11876235
大小:2.04 MB
页数:14页
时间:2018-07-14
《java五子棋设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、南京晓庄学院《JAVA程序设计》课程设计报告题 目:五子棋游戏的设计与实现姓名:陶野学号:12130818班级:12软件工程转本2班指导教师:王峥完成时间7月1日成绩:信息工程学院2015年6月1目录1引言11.1系统开发背景21.1系统开发的目的和意义31.2完成的主要工作42需求分析和总体设计42.1需求分析与设计思路52.1.1关键技术说明52.1.2需求分析52.1.3系统设计方案与思路52.1.4系统目录结构说明52.2系统功能结构63详细设计73.1系统模块实现94系统运行结果105课程设计总结12《Java程序
2、设计》课程设计五子棋游戏的设计与实现1引言五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”李善注引三国魏邯郸淳《艺经》中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。因而规则简单的五子棋也
3、可能出自当时,并是用石子作棋子。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。1.1系统开发背景 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为了人们日常生活中的一部分,越来越多的人使用计算机办公、娱乐等等。在这其中,系统自带的小游戏也占据了相当重要的地位,与那些网络游戏和3D游戏相比,它有编写简单容易上手等特点,非常适合人们在完成工作的时候适当的娱乐要求。这些小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开发。1.2完成的主要工作设计一个1
4、5╳15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能:1.选择黑子先下2.设置双方下棋总共时长3.刷新重新开始4.悔棋5.认输6.退出提示实现一个简单的多用户五子棋的游戏程序,包括如下两个界面(1)选择对弈桌(执黑、执白)。(2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负);12《Java程序设计》课程设计1.3需求分析与设计思路1、用户需求调查分析2、构思代码模块3、总体设计4、详细设计5、代码编写12《Java程序设计》课程设计2需求分析和总体设计122.1需求分析与设计思路此系统为智力游戏,采用JAVA
5、的MVC模式,根据不同功能划分不同模块,该五子棋游戏功能虽然简单,然是实现了人机对战,所以从这个角度来说,此款游戏能准确的计算棋局。虽然系统不大,但是可以实现基本的五子棋功能,以及悔棋。2.1.2需求分析五子棋,是一种两人对弈的纯策略型棋类游戏,亦称“串珠”、“连五子”;是中国民间非常熟知的一个古老棋种。相传,它起源于四千多年前的尧帝时期,比围棋的历史还要悠久。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。 五子棋发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅
6、能增强思维能力,提高智力,而且富含哲理,有助于修身养性。2.1.3设计方案与思路传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为15X15,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。2.1.4系统目录结构说明对系统包结构、文件结构列表说明,如表2-1、2-2所示。表2-1主页面表包名作用src容纳所有文件表2-2文件表文件名作用Game.javaGameFrame.javaC
7、heerup.javaPaintPanel.java运行文件12《Java程序设计》课程设计1.1系统功能结构12《Java程序设计》课程设计3.1详细设计3.1.1系统模块实现按钮事件悔棋事件classBackimplementsActionListener认输事件classFailextendsJFrameimplementsActionListener关于事件classAboutextendsJFrameimplementsActionListener设置事件classSetimplementsActionListen
8、er退出事件classExitextendsJFrameimplementsActionListener主要代码块:publicclassMyChessFrameextendsJFrameimplementsMouseListener,Runnable{//Chess类用于保存棋子信息(坐
此文档下载收益归作者所有