一、关于程序
简介:
经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。
Tips: 代码太多,这里只贴出少量相关重要代码及算法,文末会放置链接。
二、开发环境
(一)基本信息
底层基于Opengles API开发包,android SDK版本,android ADT_21版本,JDK1.7.
操作系统环境: Windows 8.1
IDE : Eclipse
(二)游戏测试及运行环境
均采用真机调试,机型为三星I779
三、程序基本功能
(一)关于界面
1)欢迎界面由两png图构成,采用sleep()函数来控制停留时间。
2)主界面有进入游戏和设置相关游戏信息的参数子界面构成。
3)单击进入游戏按钮后进入游戏主要画面。
(二)游戏的相关信息
1)先用opengles相关API绘制界面以及人物(这里用安卓机器人)。
2) 迷宫整体布局底层逻辑是一个二维数组,
public static final int[][][] MAP=//1墙2地3目标4箱子5人
{
//第一关
{
{1,1,1,1,1,1,1,1,1,1,1,1},
{1,2,2,2,2,2,2,3,2,2,2,1},
{1,2,2,4,2,4,2,2,2,1,2,1},
{1,1,1,2,2,1,2,2,2,1,2,1},
{1,2,3,1,2,5,2,1,2,2,2,1},
{1,4,2,1,2,1,2,2,3,1,2,1},
{1,3,2,2,2,1,2,4,2,2,2,1},
{1,2,2,4,2,1,2,2,1,1,2,1},
{1,2,2,1,1,1,2,2,3,1,2,1},
{1,1,1,1,1,1,1,1,1,1,1,1}
},
3) 关键位置(箱子应置放处)用一个特殊png图片代替。
4) 胜利条件: 当每个关键位置上都放置的有箱子的时候就胜利。自动跳转到下一关(这里只给出了两关的相关布局)。
5) 添加了相应的Touch事件,能够根据所触控的点来进行视角的切换,这里借用的opengles相关的内置API函数实 现。还多添加了一个视角按钮。在游戏界面初始化的时候就绘制出来。点击该按钮时切换回任务的第一视角。 另外...因为关于移动是根据机器人的朝向来判断的,所以相关移动都是根据第一视角来判断的。
6) 关于移动和方向由四个虚拟按钮来控制。
四、程序运行效果
五、性能分析
这里采用模拟器抓取性能图.android版本为4.2.2,API为版本17
五、工程链接
http://pan.baidu.com/s/1hqinyBU