当前位置:操作系统 > 安卓/Android >>

Android_手把手教你写跳跃类游戏(3)

这是第三篇博客,在本次教程中,我们将完成Food这个类的设计。这是游戏相当关键的一部分,直接决定了游戏的可扩展性、可玩性。。。

 进入正题:

先给大家看下Food类的类图:

 \
 

从图中我们可以看到有多种食物,并且它们具有很多相同的属性和方法。所以我们很容易想到使用继承Food类。

新的类图就变成这个样子了:

 \

 

这样当我们为游戏添加新的事物类型时只需要继承Food类并重写draw方法就可以了。(不同的食物,所表现的外观不同,所以需要具体的食物类,自己实现这个方法)

但是还有一点值得注意:每一个食物都有多种运动方式。如:水平运动,垂直运动,静止。。。如果将这些方式写在具体的事物类里面,首先这个move方易做图变得很复杂,里面会有各种分支,判断。。。

那么如果后期我们对游戏进行升级,比如增加一种新的运动方式,或者删除一种新的运动方式将变得非常繁琐,而且也不利于代码的复用。

这个时候我们需要采用这样一种设计模式:策略模式。

我们把move这个方法抽象为一个类MoveBehaviour。

那么新的类图就是这个样子了:

 

\

 

当我们需要添加新的运动方式时,只需要写一个类继承MoveBehavior,并实现具体的move方法就可以了。

这样就完成了食物类的设计了。我们这样设计之后,就可以非常灵活的创建新的食物,并为其添加新的运动方式了。。。了不起!!!

给大家看下项目的结构图: www.zzzyk.com

 \

 

通过将源码放在对应的package里面更利于游戏的管理。

源码下载地址请看最终版!

摘自 EaSy的专栏
 

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,