中界面。管理面板包括开始、退出、暂停三部分,主要为玩家提供控制游戏行进和退出。
* 游戏实体模块主要用于后台游戏逻辑。本游戏中仅有方块实体模块一部分。方块实体模块主要负责对已落下、正在落下和即将落下的方块图案的颜色和形状进行控制,核对正在落下的方块图案的行进路线、形状变换进行控制。
* 数据存储模块包括游戏中关卡数据的存储和的分数据的存储。游戏每一次启动都将全部删除上次启动时所产生的数据,重新进行新的数据存储。后台运行时重新进入游戏不算做重启游戏,故数据不会重置。
* 工具类模块将自身的静态成员或者方法提供给游戏中的其他类使用。
4游戏中各个类中实现的功能
由于在本次游戏的开发中本人对代码的注释比较详尽,故对各个类所实现的功能在代码中都有较详细的注释。
具体功能见附件代码。
5游戏的优化与改进
到目前为止本游戏已经能实现俄罗斯方块游戏本身的基本功能,但是有一些地方还值得优化与改进。下面提出几点需要改进的地方以便在下次开发时进行必要的完善。
* 加入本地游戏用户
列表和相关的一些面板(如积分排行榜);
* 加入游戏声音(本次游戏的开发由于主要用于兰州交通大学交通运输信息管理与信息系统09级2012年暑期课程设计,时间有限没有加入游戏声音);
* 取消重启游戏后得分重置(由于本次开发没有加入游戏用户,数据的保存只能保存所有玩家的最高纪录等信息,而无法保存某个玩家的个人最优成绩等);
* 对界面中图像进行优化(此次开发由于时间和精力有限对图像的处理力求简单,下次开发可以对图像进行比较深的加工);
* 对游戏中的一些BUG进行改进(到目前为止此游戏在中兴U880[Android2.3.7]上使用没有发现比如卡死等较大的BUG);
结论
面向对象设计方法以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。这是面向对象设计方法最主要的特点和成就。面向对象设计方法的应用解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题,缩短了开发周期,解决了从分析和设计到软件模块结构之间多次转换映射的繁杂过程,是一种很有发展前途的系统开发方法。
通过此次Android游戏的开发,使得我们更加深刻地理解了面向对象的编程思想。
参考文献
[1] 刘志宏.Java程序设计教程.北京:航空工业出版社,2010年7月
[2] 单兴华.Java基础与案例开发详解.北京:清华大学出版社,2009年9月
附录
附录1.Elos.java文件代码
package com.weirui;
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.Display;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.Toast;
public class Elos extends Activity {
private final int SQUARELEMENT_NUMBERS = 7;
private ElosLogic player = null;//定义一个自定义的类的量
private ElosView evElos = null;
private ElosStateView esvElos = null;
private ElosLogic[][] elosGuard = null;//定义界面数组
private Drawable[] drArr = new Drawable[SQUARELEMENT_NUMBERS];//保存方块的图片
private Drawable drArrCartoonBG = null;//保存背景图片
private int nElosHeight =