连连看游戏分析设计与实现 联系客服

发布时间 : 星期二 文章连连看游戏分析设计与实现更新完毕开始阅读4ef47f075a8102d276a22fc3

连连看游戏分析设计与实现

1.连连看(picture matching)游戏简介

连连看游戏界面上均匀分布2N个尺寸相同的图片,每张图片在游戏中都会出现偶数次,游戏玩家需要依次找到两张相同的图片,而且这两张图片之间只用横线、竖线相连(连线上不能有其他图片),并且连线的条数不超过3条,那么游戏会消除这两个图片。连连看是一款广受欢迎的小游戏,它具有玩法简单、耗时少等特征,尤其适合广大白领女性在办公室里休闲、放松。 2.分析连连看

连连看是一个小的、简单的游戏程序,所以不需要大量的分析。首先,我们列出用例。用例不多。有:用户开始游戏,用户进行配对图片。

<>开始游戏<>游戏玩家配对图片 图1.连连看用例图

下一步就是为每个用例和相关场景写一个文本描述。连连看相当简单,只有一个参与者,就是游戏玩家。在使用这个程序的过程中也不会碰到出错的情况,所以场景也很短。 开始游戏的场景:

玩家打开应用程序,点击“开始”按钮,会生成三种不同的图片排列方式(矩阵、竖向、横向排列)。

配对图片的场景:

玩家对图片进行配对,配好后会消除这对图片。当在规定的时间内配对完所有图片时,弹出胜利对话框,否则弹出失败对话框。

尽管只有2个简单用例,但它们确实揭示了我们所需完成的任务的重要方面。大的应用程序会有更多的用例,有些更为复杂,有些一样简单。用例导致了场景。场景通常要比这个例子中的复杂,反映了在某项特征或功能上,用户和开发者之间的更为细节化的合约。每个场景所需的细节程序取决于许多方面,但将场景写下来有助于确保每个人理解系统应该完成什么任务。

我们在连连看的用例和场景的呈现上不是太正规。有时,这种非正规的方式和几张纸或白板就足够了。更为正规的面向对象方法学在确定用例及相应场景方面有更正规的做法,也提供了特定的软件来创建和跟踪用例和场景。

3.(分析阶段)发现对象、属性和操作

通过阅读问题描述以及实际情况,我们得到以下名词清单:图片,游戏视图,图片的排列方式,服务组件。

包图

通过对问题的声明的名词进行分析,我们得到游戏的包图:

com example link board impl object view util

图2,连连看包图

其中util包负责与图片加载有关的处理,view包负责呈现界面,Object包是整个游戏的配置参数,impl是图片的排列方式,board包含了整个游戏的面板类。Link包全部的包和Link类(游戏程序的入口)。 Util包中有ImageUtil类

Object包中有GameConf和LinkInfo类

Board包中有AbstraBoard和GameService类 View包中有GameView、Piece、PieceImage类

Board.impl包中有FullBoard、HorizontalBoard、VerticalBoard类 Link包中有GameServiceImpl和Link类。

类图

由于类比较多,属性和方法更多,因此类图只画出类名称,以后再详细说明类的属性和方法。

图3.连连看类图

1. PiececImage类

图4.PieceImge类

PieceImage代表了该方块上的图片,使用它来封装:Bitmap对象和图片资源ID。其中Bitmap对象用于在游戏界面上绘制方块;而图片资源的ID则代表了该Piece对象的标识,当两个Piece所封装的图片资源的ID相等时,即可认为这两个Piece上的图片相同。

2. Piece类

图5.Piece类

一个Piece对象代表游戏界面上的一个方块,它除了封装它在左上角在游戏界面中X,Y坐标。

3. GameView类

图6.GameView类

GameView主要是根据游戏的状态数据来绘制界面上的方块,GameView继承了View组件,重写了View组件上onDraw(Canvas canvas)方法,重写该方法主要就是绘制游戏里剩余的方