一、关于程序

简介:
经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。

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

基于Opengles和android环境下的3D推箱子。相关推荐

  1. 基于Linux系统的C语言多关卡推箱子设计

    基于Linux系统的C语言多关卡推箱子设计 目录 基于Linux系统的C语言多关卡推箱子设计 前言 一.设计方案 二.功能设计 2.1功能简述 2.2流的类型和操作 2.3标准I/O 2.4流的使用 ...

  2. opencv生成日志_OpenCV在Android环境下的使用方法

    按照使用语言角度,在Android下使用OpenCV有以下几种方式: 完全使用Java语言 完全使用C++语言 混合使用Java和C++语言 下面分别讲一下怎么做,并说明这样做可能需要注意的问题. 完 ...

  3. 让计算机网络与作文教学,“基于计算机和网络环境下的写作教学研究”课题组  2015-2016学年度上学期研究计划...

    白洋中心湖美小学"基于计算机和网络环境下的写作教学研究"课题组 2015-2016学年度上学期研究计划 根据<诏安县2015年度校级基础教育课程教学研究课题立项名单公布> ...

  4. 基于纹理的复杂环境下道路消失点检测算法

    个人博客:wyxogo.top 标题 基于纹理的复杂环境下道路消失点检测算法 年份: 2014 年 6 月 GB/T 7714: [1]傅重添, 杨健, 路飞飞. 基于纹理的复杂环境下道路消失点检测算 ...

  5. 基于node.js开发环境下创建及开发vue.js项目的环境配置骤

    基于node.js开发环境下创建开发vue.js项目的环境配置骤如下: 步骤一:安装node.js,安装完后运行node -v命令检安装node的查版本,判断是否安装成功.Npm是node.js包管理 ...

  6. php简单排课_基于PHP-WEB网络云环境下的自动排课系统

    基于 PHP-WEB 网络云环境下的自动排课系统 陈佳硕 ; 孙穆赫 ; 付兴建 ; [期刊名称] <信息与电脑:理论版> [年 ( 卷 ), 期] 2013(000)010 [摘要] 随 ...

  7. 基于Android环境下象棋的设计程序,基于Android平台的中国象棋设计与实现

    摘要: 近年,随着第三代数字通信技术的发展,数字信息产品如手机,IPad,PDA等开始获得用户的广泛接受和良好的体验.作为移动终端设备的数字信息产品己经从仅仅将通信作为唯一目标的模式演变成了具有更多市 ...

  8. android登录加密传输,android环境下两种md5加密方式(示例代码)

    在平时开发过程中,MD5加密是一个比較经常使用的算法,最常见的使用场景就是在帐号注冊时,用户输入的password经md5加密后,传输至server保存起来.尽管md5加密经经常使用.可是md5的加密 ...

  9. 基于Google的Android平台上GVR 3D全景视频播放器(支持本地文件和视频流传输)

    基于GVR(Google VR)安卓平台下的 3D全景视频播放器 Google GVR GVR简介 示例应用 源码实现 GVR关键的api调用 Gradle配置 效果图 布局 m3u8和hls协议(自 ...

最新文章

  1. List 去除重复数据的五种方式,舒服~
  2. Go命令行库Cobra的使用
  3. 我要偷偷学习C#,然后学习GIS二次开发之试题汇总(附答案)
  4. 不同于NLP,数据驱动、机器学习无法攻克NLU,原因有三
  5. CTO怒了:再写if-else,逮着罚款1000!
  6. 130个你需要了解的VIM命令
  7. Android签名机制---签名过程
  8. 软件项目开发流程以及人员职责
  9. 数据类型以及数据类型的转换---防止忘记
  10. php感悟1500,《与美同行》读后感1500字
  11. 小程序源码:酒桌扑克娱乐喝酒小游戏-多玩法安装简单
  12. 关于磁力计和加速度计的融合以及坐标系的对准
  13. Android5.0 下拉通知栏快捷开关的添加(必看)
  14. 文本比较算法--Needleman/Wunsch算法
  15. linux wifi6,iPhone11支持WiFi6是什么意思 WiFi 6是什么东西
  16. 十大高颜值蓝牙耳机排行榜,最受欢迎的真无线蓝牙耳机前十名
  17. 企业如何选择BPM业务管理系统?要注意哪些?
  18. MQTT断线重连订阅无法接收
  19. 本周涨粉一倍,我决定再开源一个商超管理系统
  20. 重磅!中国电信物联网用户超4亿

热门文章

  1. Cty的Linux学习笔记(十五——wget)
  2. Cty的Linux学习笔记(十)
  3. wifi为什么老服务器无响应,wifi服务器无响应怎么解决
  4. 三国杀豪华java版_三国杀2.0美化版
  5. 辗转相减法求最大公约数
  6. 几种MAPE的实现方式
  7. 同济大学计算机系统结构考试题,同济大学大学计算机基础试题
  8. 您的计算机配置已更改,怎么解决win10开机显示你的硬件设置已更改,请重启电脑...
  9. WDA 学习笔记(四) layout
  10. 文件系统 磁盘 梳理