private void swipeUp(){ //向上滑动函数
for (int x = 0; x < 4; x++) { //行从上到下
for (int y = 0; y < 4; y++) { //列从左到右
for (int y1 = y+1; y1 < 4; y1++) { //当前方块的下一个向底遍历
if (Matrix[x][y1].getNum()>0) { //如果遍历过程中有非空方块(即有数字),则执行操作
if (Matrix[x][y].getNum()<=0) { //如果当前方块是空值,则将遍历到的非空方块移动到当前方块
int yoy =y1 - y; //移动的步距值
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0,
Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-yoy); //-yoy为负数,即相对于0,在y方向产生向上移动yoy步距的动画
ta.setDuration(100); //动画持续时间
Matrix[x][y1].startAnimation(ta); //演示动画
Matrix[x][y].setNum(Matrix[x][y1].getNum()); //设置当前方块值,移动成功
Matrix[x][y1].setNum(0); //将遍历到的方块值清零,即不显示
y--; //break后重新从当前方块的下一个重新开始遍历,等待一次寻找到相同值且合并的机会
break; //break后重新从当前方块的下一个重新开始遍历,等待一次寻找到相同值且合并的机会
}else if (Matrix[x][y].equals(Matrix[x][y1])) { //如果当前方块的值与遍历到的方块值相等
int yoy =y1 - y; //移动的步距值
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0,
Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-yoy); //-yoy为负数,即相对于0,在y方向产生向上移动yoy步距的动画
ta.setDuration(100); //动画持续时间
Matrix[x][y1].startAnimation(ta); //演示动画
Matrix[x][y].setNum(Matrix[x][y1].getNum()*2); //设置当前方块值为两倍,即两方块相加
Matrix[x][y1].setNum(0); //将遍历到的方块清零,即不显示
break; //完成相加后,从下一个方块开始完成新一轮操作
}else {
break; //如果当前方块的值与遍历到的方块值不相等,则从下一个方块开始完成新一轮操作
}
}
}
}
}
} private void swipeDown(){ //向下滑动函数
for (int x = 0; x < 4; x++) {
for (int y = 3; y >= 0; y--) {
for (int y1 = y-1; y1 >= 0; y1--) {
if (Matrix[x][y1].getNum()>0) {
if (Matrix[x][y].getNum()<=0) {
int yoy =y1 - y;
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0,
Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-yoy);
ta.setDuration(100);
Matrix[x][y1].startAnimation(ta);
Matrix[x][y].setNum(Matrix[x][y1].getNum());
Matrix[x][y1].setNum(0);
y++;
break;
}else if (Matrix[x][y].equals(Matrix[x][y1])) {
int yoy =y1 - y;
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0,
Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-yoy);
ta.setDuration(100);
Matrix[x][y1].startAnimation(ta);
Matrix[x][y].setNum(Matrix[x][y1].getNum()*2);
Matrix[x][y1].setNum(0);
break;
}else {
break;
}
}
}
}
}
} private void swipeLeft(){ //向左滑动函数
for (int y = 0; y < 4; y++) {
for (int x = 0; x < 4; x++) {
for (int x1 = x+1; x1 < 4; x1++) {
if (Matrix[x1][y].getNum()>0) {
if (Matrix[x][y].getNum()<=0) {
int xox =x1 - x;
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-xox,
Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0);
ta.setDuration(100);
Matrix[x1][y].startAnimation(ta);
Matrix[x][y].setNum(Matrix[x1][y].getNum());
Matrix[x1][y].setNum(0);
x--;
break;
}else if (Matrix[x][y].equals(Matrix[x1][y])) {
int xox =x1 - x;
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-xox,
Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0);
ta.setDuration(100);
Matrix[x1][y].startAnimation(ta);
Matrix[x][y].setNum(Matrix[x1][y].getNum()*2);
Matrix[x1][y].setNum(0);
break;
}else {
break;
}
}
}
}
}
} private void swipeRight(){ //向右滑动函数
for (int y = 0; y < 4; y++) {
for (int x = 3; x >= 0; x--) {
for (int x1 = x-1; x1 >= 0; x1--) {
if (Matrix[x1][y].getNum()>0) {
if (Matrix[x][y].getNum()<=0) {
int xox =x1 - x;
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-xox,
Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0);
ta.setDuration(100);
Matrix[x1][y].startAnimation(ta);
Matrix[x][y].setNum(Matrix[x1][y].getNum());
Matrix[x1][y].setNum(0);
x++;
break;
}else if (Matrix[x][y].equals(Matrix[x1][y])) {
int xox =x1 - x;
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-xox,
Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0);
ta.setDuration(100);
Matrix[x1][y].startAnimation(ta);
Matrix[x][y].setNum(Matrix[x1][y].getNum()*2);
Matrix[x1][y].setNum(0);
break;
}else {
break;
}
}
}
}
}
}

Android手游2048核心功能的更多相关文章

  1. Android手游《》斗地主完整的源代码(支持单机和网络对战)

    Android手游<斗地主>完整的源代码(支持单机和网络对战)下载.一个很不错的源代码. 斗地主掌游是一个独特的国内社会斗地主棋牌游戏,之后玩家可以下载网上斗地主和全世界.掌游斗地主特点: ...

  2. Android手游外挂入侵----寓攻于守,方能破敌

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 手游外挂入侵 随着各种爆款手游的风靡,目前手机游戏的占比用户已经形成一个巨大的市场,市场上你争我夺,有将PC版本移植到手机中,也有新模式手游的推出. ...

  3. 破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程

    由于Android系统的开放性,让人人都是开发者成为可能,也正因如此,手机APP遭受破解和盗版问题长期存在,且愈演愈烈.尤其是手游 行业,如刀塔传奇.植物大战僵尸.2048等知名游戏被破解的案例不胜枚 ...

  4. 某Android手游的lua源码逆向分析与还原

    近日分析某一款Android上面的手游,反编译后再起asset目录下可以看到加密过的脚本,lib目录下发现lua的so 初步怀疑其使用lua脚本实现的 解密函数定位 动态跟踪解密函数流程 静态分析解密 ...

  5. 源码分析 | 手写mybait-spring核心功能(干货好文一次学会工厂bean、类代理、bean注册的使用)

    作者:小傅哥 博客:https://bugstack.cn - 汇总系列原创专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言介绍 一个知识点的学习过程基本分为:运行helloworld ...

  6. 手游接入Facebook的那些坑

    之前工作须要在手游中接入了facebook,并以此写了<手游接入Facebook功能>的博文.当时facebook sdk的版本号还是3.x.代码集成度比較低.集成起来也比較麻烦.文中仅仅 ...

  7. 知物由学|游戏开发者如何从容应对Unity手游风险?

    本文由  网易云发布. "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不 ...

  8. 年度游戏圈2018白皮书解析手游折扣app哪个好及靠谱程度分析

    2018年,随着全国暂停游戏版本的审核和发布<综合防控儿童青少年近视实施方案>(控制新的在线游戏数量),游戏行业受到的影响不小. 在游戏产业中,游戏行业2018年的收入同比增长5.2%,远 ...

  9. 从《乱世王者》看腾讯SLG手游如何搭建完整安全服务

    WeTest 导读 <乱世王者>是由腾讯旗下天美工作室群自主研发的一款战争策略手游,在经历了2015年-2017年的SLG品类手游的爆发之势下,于2017年11月21日正式公测. < ...

随机推荐

  1. 开始第一个Android应用程序

    Android应用程序建立在应用程序框架之上,所以Android编程就是面向应用程序框架API编程---与编写普通的Java SE没有太大区别,只是增加了一些API. 1.使用eclipse开发第一个 ...

  2. Caffe 议事(三):从零开始搭建 ResNet 之 网络的搭建(中)

    上面2个函数定义好了,那么剩下的编写网络就比较容易了,我们在ResNet结构介绍中有一个表,再贴出来: Layer_name Output_size 20-layer ResNet Conv1 32 ...

  3. 如何在centos环境下搭建java环境

    在CentOS上安装Java环境:[1]使用yum安装java 现阶段做企业级项目开发一般都采用Java语言.开发的项目需要放在服务器上运行测试,若以CentOS系统为服务器系统,首先要解决就是Cen ...

  4. .net core利用MySqlBulkLoader大数据批量导入MySQL

    最近用core写了一个数据迁移小工具,从SQLServer读取数据,加工后导入MySQL,由于数据量太过庞大,数据表都过百万,常用的dapper已经无法满足.三大数据库都有自己的大数据批量导入数据的方 ...

  5. context:propertyPlaceholder

    Activates replacement of ${...} placeholders by registering a PropertySourcesPlaceholderConfigurer w ...

  6. 浅析互联网系统和传统企业IT系统的异同

    前不久,一则中行宕机的消息引起了网上IT人士的热议.其中对于大型机或者RISC系统的稳定性可靠性的质疑更是热议中的主流声音,很多人拿现在互联网系统做对比,认为大型机所谓的几个9都是吹出来的云云.在这里 ...

  7. [翻译] FastReport Class Hierarchy (FastReport 组件类层次结构)

    "TfrxComponent" is the base class for all FastReport components. Objects of this type have ...

  8. [leetcode] 5. Minimum Depth of Binary Tree

    二叉树基本功练习题,题目如下: Given a binary tree, find its minimum depth. The minimum depth is the number of node ...

  9. Postgresql 分区表 一

    Postgres 10 新特性 分区表 http://francs3.blog.163.com/blog/static/40576727201742103158135/ Postgres 10 之前分 ...

  10. 分布式流式计算平台——S4

    本文是作者在充分阅读和理解Yahoo!最新发布的技术论文<S4:Distributed Stream Computing Platform>的基础上,所做出的知识分享. S4是Yahoo! ...