Java五子棋设计报告_第1页
Java五子棋设计报告_第2页
Java五子棋设计报告_第3页
Java五子棋设计报告_第4页
Java五子棋设计报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京晓庄学院JAVA程序设计课程设计报告题 目: 五子棋游戏的设计与实现姓 名: 陶野学 号:班 级: 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课程设计总结12Java程序设计课程设计五子棋游戏的设计与实现1 引言五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,增山海经中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”李善注引三国魏邯郸淳艺经中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。因而规则简单的五子棋也可能出自当时,并是用石子作棋子。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。1.1 系统开发背景 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为了人们日常生活中的一部分,越来越多的人使用计算机办公、娱乐等等。在这其中,系统自带的小游戏也占据了相当重要的地位,与那些网络游戏和3D游戏相比,它有编写简单容易上手等特点,非常适合人们在完成工作的时候适当的娱乐要求。这些小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人们的大脑得到开发。1.2 完成的主要工作设计一个1515围棋棋盘,由两玩家交替进行对战,并可以实现以下功能:1.选择黑子先下 2.设置双方下棋总共时长3.刷新重新开始4.悔棋5.认输6.退出提示实现一个简单的多用户五子棋的游戏程序,包括如下两个界面(1)选择对弈桌(执黑、执白)。(2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负);1.3需求分析与设计思路 1、 用户需求调查分析2、 构思代码模块3、 总体设计4、 详细设计5、 代码编写 2需求分析和总体设计122.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.javaGameFrame.javaCheerup.javaPaintPanel.java运行文件2.2 系统功能结构3.1详细设计3.1.1 系统模块实现按钮事件悔棋事件class Back implements ActionListener认输事件class Fail extends JFrame implements ActionListener关于事件class About extends JFrame implements ActionListener设置事件class Set implements ActionListener退出事件class Exit extends JFrame implements ActionListener主要代码块:public class MyChessFrame extends JFrame implements MouseListener,Runnable /Chess类用于保存棋子信息(坐标,颜色,落子时间,落子时是否人为归零时间)private class Chess int i = 0, j = 0, color = 0, time = 0;boolean guiLingSave = false;/save集合保存Chess,用于画棋子和悔棋ArrayList save = new ArrayList();/棋子的坐标int x,y;/ 标识当前游戏是否可以继续boolean canPlay = true;/标识是否是人为归零时间boolean guiLing = true;/ 背景图片BufferedImage bgImage = null;/右上角显示游戏信息区域的背景图片BufferedImage msgImage = null;/ 保存之前下过的全部棋子的坐标/ 其中数据内容 0: 表示这个点并没有棋子, 1: 表示这个点是黑子, 2:表示这个点是白子Chess allChess = new Chess1616;/List Chess = new ArrayList();/ 标识当前应该黑棋还是白棋下下一步boolean isBlack = true;/ 保存显示的提示信息String message = 黑方先行;/ 保存最多拥有多少时间(秒)static int maxTime = 0;/ 做倒计时的线程类Thread t = new Thread(this);/Thread music = new Thread(new Music();/ 保存黑方与白方的剩余时间static int blackTime = 0;static int whiteTime = 0;/ 保存双方剩余时间的显示信息String blackMessage = 无限制;String whiteMessage = 无限制;4、系统运行结果a. 进入游戏界面游戏开始的界面有六个选择项,用户可以选择相应的设置b. 选择角色,开始下棋首先达到五个棋子连在一块的赢了,并在弹窗显示谁赢了!c. 下完后,重新开始下完一盘后游戏停止,点击重新开始,界面回到初始界面d.悔棋选择悔棋后,相对应位置旗子撤销5、课程设计总结通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如用户界面设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论