魔板游戏_java课设_含可运行程序文件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统的流程图如图2所示。

图2 魔板游戏系统流程图

2.3.2 总体设计

(1)PuzzleGame.java(主类)

PuzzleGame类负责创建魔板游戏的主窗口,该类含有main方法,程序从该类开始执行。PuzzleGame雷的成员变量中有4种重要类型的对象:PuzzlePad、JMenu、JRadioButton和JButton。PuzzleGame类的主要成员的作用将在后面的详细设计中阐

述,PuzzleGame类创建的窗口以及其中的主要成员对象如图3所示。

图3 PuzzleGame窗口及主要的成员对象

(2)PuzzlePad.java

PuzzlePad类创建的对象是PuzzleGame类最重要的成员之一,代表“魔板”。该类的成员变量中有5种重要类型的对象:Point、Block、HandleMovee、HandleImage 和Image。PuzzlePad类的主要成员的作用将在后面的详细设计中阐述。

(3)Block.java

Block类是JTextField的一个子类创建的对象是PuzzlePad类的重要成员之一,用来表示“魔板”中的“方块”。

(4)Point.java

Point类负责创建确定位置的对象,使用Point对象可以确定Block对象在PuzzlePad对象中的位置,即确定“方块”在“魔板”中的位置。

(5)HandleImage.java

HandleImage类所创建的对象负责将一幅图像分成若干个小图像。

(6)HandleMove.java

HandleMove类所创建的对象负责处理鼠标事件。

digitPlay和imagePlay是JRadioButton创建的属于同一选择组中的单选框,名字依次为“数字玩法”,“图像玩法”。同一时刻,digitPlay和imagePlay中只能有一个处于选中状态。

startButton是JButton创建的按钮对象,名字为“开始”。startButton将当前窗口注册为自己的ActionEvent事件监视器。

image是Image声明的对象。

Tool是Toolkit对象,负责创建image对象。

②方法

PuzzleGame()构造方法,负责完成窗口的初始化操作。

actionPerformed(ActionEvent)方法是PuzzleGame类实现ActionListener接口中的方法。PuzzleGame类创建的窗口是菜单中的菜单项、单选框以及按钮上的ActionEvent事件监视器。如果用户选中oneGrade或twoGrade菜单项时actionPerformed

(ActionEvent)方法所执行的操作分别让puzzlePad对象将自己的级别设置为以及或二级。如果用户选中newImage或defaultImage菜单项时,actionPerformed(ActionEvent)方法所执行的操作就是分别改变image对象。当用户单击start按钮后,如果单选框disPlay处于被选中状态,那么actionPerformed (ActionEvent)方法所执行的操作就是让puzzlePad对象使用数字魔板,如果单选框imagePlay被选中时,那么actionPerformed (ActionEvent)方法所执行的操作就是让puzzlePad对象使用图像魔板。

(2)PuzzlePad类

效果图:PuzzlePad创建的魔板对象效果如图7所示。

(a)数字魔板(b)图像魔板

图7 PuzzlePad创建的魔板对象

UML图:PuzzlePad类是javax.swing包中JPanel容器的子类,所创建的对象:puzzlePad是PuzzleGame类中最重要的成员之一,作为一个容器添加到PuzzleGame

图11 Point 类的UML 图

(5)HandleImage 类 效果图:HandleImage 创建的对象负责将一幅图像分解为若干个小的图像,没有可显示的效果图。

UML 图:HandleImage 类是javax.swing 包中JComponent 类的一个子类,创建的对象HandleImage 负责将一幅图像分解为若干个小的图像,是PuzzlePad 类的重要成员之一。HandleImage 类的主要成员变量和方法以及和PuzlePad 类之间的组合关系的UML 图如图12所示。

图12 HandleImage 类的UML 图

(6)HandleMove 类

效果图:HandleMove 创建的对象效果图如图13所示。

图13 HandleMove 创建的对象

JComponent

HandleImage

PuzzlePad handleImage:HandleIma ge imageWidth,imageHeight:int

tool:Toolkit

HandleImage():无类型

geiImages(Image,int,int):Image

[] Point

PuzzlePad Point:Point[][] X,y:int

haveBlock:boolean

block:Block

Point(int,int):无类型

isHaveBlock():boolea

n

setHaveBlock(Boolea

n):void

geiX():int

getY():int equals(TowerPoint):B oolean set(Block):void getBlock():Block

相关文档
最新文档