课程设计魔板游戏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》
课程设计报告
题目:魔板游戏设计
专业:计算机科学与技术
班级:12级(3)班
姓名:陈晓彤
指导教师:史学梅
成绩:
计算机学院
2015年4月24日
目录
1设计目的及内容错误!未定义书签。
课程设计目的错误!未定义书签。
课程设计内容错误!未定义书签。
2系统需求分析错误!未定义书签。
系统目标错误!未定义书签。
主体功能错误!未定义书签。
开发环境错误!未定义书签。
3概要设计错误!未定义书签。
系统的功能模块划分错误!未定义书签。类模块错误!未定义书签。
类模块错误!未定义书签。
类模块错误!未定义书签。
系统流程图错误!未定义书签。
4设计过程与分析错误!未定义书签。
5设计结果与测试错误!未定义书签。
参考文献: 错误!未定义书签。
1设计目的及内容
课程设计目的
利用所学高级语言的语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识完成综合题目的设计和代码实现,并培养锻炼分析程序、撰写报告等能力。
课程设计内容
(1)设计一款经典的智力游戏,魔板游戏。魔板由3*3或4*4个格子组成。对于3*3魔板,在前8个格子里随即放置8个编号1-8的方块,最后一个格子是未放置方块的空格子;对于4*4的魔板,在前15格子里随即放置15编号1-15的方块,最后一个格子是未放置方块的空格子。(2)用鼠标单击任何与空格子水平或垂直相邻的方块可以把该方块移入空格子,而当前方块移动之前所在的格子成为空格子。通过不断地移动方块可以将方块一行一行地按数字顺序排好,例如,对于3*3格子组成的魔板,要求方块最后排列的顺序如图所示。
(3)魔板游戏也可以使用图像来代替数字。例如,对于4*4的魔板,将一幅图像分成4*4幅小图像,除去最后一幅小图像(图像的右下角),将其余各幅小图像打乱顺序后放在魔板方块上,最终目标是通过移动方块恢复原始图像(不包括图像的右下角)。
2系统需求分析
系统目标
设计GUI界面的魔板游戏程序。
主体功能
这个程序定义了一些组件,工具栏按钮,文本区和菜单。魔板游戏程序设计通过、、3个类来实现魔板游戏的整体功能。
开发环境
操作系统:Microsoft Windows 7
开发工具:、
3概要设计
系统的功能模块划分
在设计魔板游戏时,需要编写3个java源文件:、、。
魔板游戏除了需要编写的上述3个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JMenuItem、JButton和JRadioButton等类。
类模块
PuzzleFrame类负责创建魔板游戏的主窗口,该类含有main方法,程序从该类开始。PuzzleFrame 类的成员变量中有4种重要类型的对象:PuzzlePad、JmenuItem、JRadioButton和JButton。PuzzleFrame类的主要成员的作用将在后面的详细设计中阐述,PuzzleFrame类主要成员变量(属性)和主要方法如表所示。
表格1 主要成员变量(属性)
成员变量描述变量类型名称
魔板PuzzlePad PuzzlePad
开始游戏的按钮Jbutton开始
选择玩法JradioButton数字玩法,图像玩法
表格 2 主要方法
名称功能备注
PuzzleFrame actionPerformed main 创建程序主窗口
处理ActionEvent事件
程序开始运行的方法
构造方法
接口方法
类模块
PuzzlePad类创建的对象是PuzzleFrame类最重要的成员之一,代表“魔板”。该类的成员变量中有5种重要类型的对象:Point、Block和Image。PuzzlePad类类主要成员变量(属性)和主要方法如表所示。
表格 3 主要成员变量(属性)
描述变量类型名称
魔板中的行数和列数魔板中方块的宽和高魔板中二维点数组魔板中而为方块数组模板可能用到的图像int
int
SquarePoint[][]
JButton
Image
rows,colums
width,height
point
block
image
表格 4 主要方法
名称功能备注
PuzzlePad
随机排列数字随机排列图像paintComponent actionPerformed 创建魔板对象
随机排列魔板中方块上的数字
随机排列魔板中方块上的图像
绘制图像
处理ActionEvent事件
构造方法
接口方法
类模块
SquarePoint类负责创建确定位置的对象,使用Point对象可以确定Block对象在PuzzlePad对象中的位置,即确定“方块”在“魔板”中的位置。类主要成员变量(属性)和主要方法如表所示。表格5 主要成员变量(属性)
描述变量类型名称
判断点上是否有方块点上的方块对象boolean
JButton
有方块
block
表格6 主要方法
名称功能备注
SquarePoint get有方块set有方块setBlock getBlock 创建“点”对象
判断点上是否有方块
设置点上是否有方块
在点上放置方块
获取点上的方块
构造方法
系统流程图
根据对模板游戏的功能分析,设计得到魔板游戏总流程,如图所示: