WEB开发网
开发学院手机开发Android 开发 Android 游戏开发 NancyGLines 设计 阅读

Android 游戏开发 NancyGLines 设计

 2010-03-24 05:26:00 来源:WEB开发网   
核心提示:thread.doTouch(x, y);return super.onTouchEvent(event);}然后,实现GLinesThread的doTouch方法:public void doTouch(float posX, float posY) {// 激活或移动某个球}我会使用一个二维数组来保存棋盘上每个格子

thread.doTouch(x, y);

return super.onTouchEvent(event);

}

然后,实现GLinesThread的doTouch方法:

public void doTouch(float posX, float posY) {

// 激活或移动某个球

}

我会使用一个二维数组来保存棋盘上每个格子的状态:

private int mStatus[][];

比如,mStatus[0][1] = Color.BLUE ,表示,第一行第二列的格子放置了一个蓝色的球。

当我需要移动某个球时,首先需要实现最短路径算法,因为如果有其他球的阻碍,是不能移动的。因此,我使用了一个类似的Dijkstra 最短路径算法,实现了球的移动函数:

private void moveBall(int currentX, int currentY, int targetX,

int targetY) {

}

然后,球移动过去后,还需要实现判断是否满足横竖斜大于等于5个的情况,如果满足,则消除那些球。因此,添加clearBalls方法:

private boolean clearBalls(Ball ball) {

}

在没有满足得分条件时,需要落下新的三个球,因此,实现getThreeBalls方法:

private void getThreeBalls() {

}

其实到这里,整个框架已经搭建起来了。整个的原理在与通过一些操作修改棋盘状态的mStatus数据结构,操作完成后,调用updateCanvas()刷新屏幕。

实现好上面的方法后,游戏已经可以运行起来了。就是上面截图中看到的效果了。之后我还需要做一些界面美化,加入菜单,关卡的操作。

最后附上:

完整代码: /Files/coderzh/Code/NancyGLines.rar

体验apk文件:/Files/coderzh/Code/NancyGLines.apk.rar

希望大家提宝贵意见,同时,我也会继续完善这个游戏。

上一页  1 2 3 

Tags:Android 游戏 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接