1.2功能图样
扫雷游戏 游戏菜单 帮助菜单 退出 帮助 关于 开局 难度选择 扫雷榜 初级 中级 高级 图1-1功能图样
1.3总体设计
扫雷游戏由包minesweeper.swt中的主类mainshell创建,它调用该包其他类来完成该游戏的各个模块的创建:调用fuzhumianbanComposite类创建辅助面板,调用MenuShell类来创建菜单栏,调用mineborder来创建扫雷区。被调用的3个类又有自己的监听器,而当用到鼠标监听器时,则调用包minesweeper.action里面的MouseLeftListener和MouseRightListener来创建鼠标左击右击监听器。
2
1.4类图设计
图1-2类图设计
3
2详细设计
2.1 总体阐述
在Java 图形界面中创建扫雷游戏的实现方法,需要SWT中的Widgets组件,Events组件,Images组件,Layout组件。
SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。SWT提供了一种高效的创建图像化用户界面的能力,也是 Eclipse 平台的 UI 组件之一。它相比于 Swing,速度相对比较快,而且因为使用了与操作系统相同的渲染方式,界面上与操作模式上比较接近操作系统的风格。对于跨平台性的问题,SWT是通过不同的底层支持库来解决的。
2.2 ImageSource类
详细类图:ImageSource类是用于初始化各Image,便于图片更改,其详细类图信息如图所示:
图2-1 ImageSource详细类图
(1) 成员变量
image是Image[9]型,用于初始化扫雷个数的0-8的图片。 d是Display类型,用于接受传入构造函数的Display
mine,explosion,flag,wrong,digbome,xiaolian,app,background都是Image类型,用于存储对应的应用程序所需的图片 (2) 方法
4
ImageSource(Display display)是该类的构造函数,带入的display是传入自身成员变量
2.3 MouseLeftListener类
详细类图:MouseLeftListener类是创建鼠标左键点击触发的事件,其详细类图信息如图所示:
图2-2 MouseLeftListener详细类图
(1) 成员变量
Button_Game是Button[][]型,用于接收构造函数传入的Button[][]数组
Map_Bomb是Int[][]型,用于接收构造函数传入的Int[][]数组
Bomb_I和Bomb_J是Int型,Bomb_I为地雷区有多少行,Bome_J为地雷区有多少列。在构造函数初始化。
Imagesource是ImageSource类的实例,便于函数调用初始化后的图片
(2) 方法
MouseLeftListener(Button[][], int[][], int, int)是该类的构造函数,带入的Button[][]是用来初始化成员变量Button_Game的,两个int参数分别先后初始化了Bome_I和Bome_J。
sweep(int, int)是用于扫开固定坐标地雷的函数,传入坐标(x,y)值,翻开指定坐标的button的内容。
mouseUp(MouseEvent)是该监听器的重载函数,用于实现点击的事件,即扫雷。
2.4 MouseRightListener类
5
详细类图:MouseRightListener类是创建鼠标右键点击触发的事件,其详细类图信息如图所示:
图2-3 MouseRightListener详细类图
(1) 成员变量
Button_Game是Button[][]型,用于接收构造函数传入的Button[][]数组
Map_Bomb是Int[][]型,用于接收构造函数传入的Int[][]数组
Bomb_I和Bomb_J是Int型,Bomb_I为地雷区有多少行,Bome_J为地雷区有多少列。在构造函数初始化。
Imagesource是ImageSource类的实例,便于函数调用初始化后的图片
(2) 方法
MouseRightListener(Button[][], int[][], int, int)是该类的构造函数,带入的Button[][]是用来初始化成员变量Button_Game的,两个int参数分别先后初始化了Bome_I和Bome_J。
mouseUp(MouseEvent)是该监听器的重载函数,用于实现点击的事件。即设立flag和消去flag。
2.5 CountT类
详细类图:CountT类是创建TimerTask任务,它继承了java.util.TimerTask类,定期更新mineborder.CountTime时间,并且把传入构造函数的CLabel更新显示当前时间,其详细类图信息如图所示:
6
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库java课程设计 SWT 扫雷(功能图,类图,类详细说明,测试)(2)在线全文阅读。
相关推荐: