计31系统结构图
根据对“连连看”游戏的分析,该游戏可分为三个部分:连连看系统功能的实现部分、连连看地图部分、连连看系统上层对话框部分,如图31所示。三个部分对应的模块分别为:算法模块、界面显示模块、鼠标控制模块。其中连连看系统功能的实现部分主要就是算法模块。算法模块负责游戏中的图片生成方法、地图规划、消除方法、分数的统计和时间消减等算法实现。连连看系统地图部分就是界面显示模块,主要负责地图的显示、图片加载及消除的显示、时间条显示等。连连看系统上层对话框部分就是鼠标控制模块,负责人机交流,让玩家使用鼠标玩这个游戏。
图31结构图游戏的主要流程图,如图32:图32游戏流程图连连看游戏使用JAVA语言编写,使用到了面向对象的技术。面对对象编程的关键性突破就是:一个对象同时包括方法和变量。例如,一个自动调温器对象不仅包括fur
ace_o
和fur
ace_off两个方法,还包括curre
tTemp和desiredTemp两个变量8。在JAVA中,这些变量被称为字段。
这个新的实体对象,同时解决了许多问题。它不仅将计算机的事物和世界上的事有较密切的联系,而且处理了语言过程中的全局变量所引起的麻烦。Fur
ace_o
和fur
ace_off两个方法可以访问curre
Temp和desiredTemp,这两个变量对那些不属于自动调温器的方法是隐藏的,以防止他们被一些不可靠的方法所修改。
32算法模块
算法模块中主要的内容有:图片的产生设计;判断两张图片是否一样;图片路径处理设计。界面显示模块编写游戏过程中主要的几个界面:游戏界面设计;游戏过关、失败的设计等,菜单控制模块主要是如何设置“开始”“再来一局”按钮。
3
f321图片的产生设计
首先创建一个包comla
ggameimages,将图片放入这个包中,运用下列算法将图片成双取出放在画好的表中。图片的存储和提取涉及到二位数组和类的使用,这种方法在美国计算机学家RobertLafore所著的DataStructuresAlgorithmsi
Java(Seco
dEditio
)有提到:IThesemethodsallowcommu
icatio
betwee
LowArraya
dLowArrayApp9意思是说在arrayjava我们使用一个数组作为数据存储结构,但是我们把它仅仅作为一种语言元素。现在,我们将封装在数组中的一类,称为LowArray同时也提供类方法供其他类(在这种情况下,LowArrayApp类)的对象可以访问阵列。这些方法允许通信betwee
LowArray和LowArrayApp。
publicclassImageToolsprivatestaticImageIco
images
ewImageIco
72实例化ImageIco
数组用于保存图片staticfori
ti1iimagesle
gthi为数组中的成员分配资源imagesi1
ewImageIco
ImageToolr