Android手游2048核心功能
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核心功能的更多相关文章
- Android手游《》斗地主完整的源代码(支持单机和网络对战)
Android手游<斗地主>完整的源代码(支持单机和网络对战)下载.一个很不错的源代码. 斗地主掌游是一个独特的国内社会斗地主棋牌游戏,之后玩家可以下载网上斗地主和全世界.掌游斗地主特点: ...
- Android手游外挂入侵----寓攻于守,方能破敌
欢迎访问网易云社区,了解更多网易技术产品运营经验. 手游外挂入侵 随着各种爆款手游的风靡,目前手机游戏的占比用户已经形成一个巨大的市场,市场上你争我夺,有将PC版本移植到手机中,也有新模式手游的推出. ...
- 破解者是如何篡改游戏内数值的,揭秘Android手游破解全过程
由于Android系统的开放性,让人人都是开发者成为可能,也正因如此,手机APP遭受破解和盗版问题长期存在,且愈演愈烈.尤其是手游 行业,如刀塔传奇.植物大战僵尸.2048等知名游戏被破解的案例不胜枚 ...
- 某Android手游的lua源码逆向分析与还原
近日分析某一款Android上面的手游,反编译后再起asset目录下可以看到加密过的脚本,lib目录下发现lua的so 初步怀疑其使用lua脚本实现的 解密函数定位 动态跟踪解密函数流程 静态分析解密 ...
- 源码分析 | 手写mybait-spring核心功能(干货好文一次学会工厂bean、类代理、bean注册的使用)
作者:小傅哥 博客:https://bugstack.cn - 汇总系列原创专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言介绍 一个知识点的学习过程基本分为:运行helloworld ...
- 手游接入Facebook的那些坑
之前工作须要在手游中接入了facebook,并以此写了<手游接入Facebook功能>的博文.当时facebook sdk的版本号还是3.x.代码集成度比較低.集成起来也比較麻烦.文中仅仅 ...
- 知物由学|游戏开发者如何从容应对Unity手游风险?
本文由 网易云发布. "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不 ...
- 年度游戏圈2018白皮书解析手游折扣app哪个好及靠谱程度分析
2018年,随着全国暂停游戏版本的审核和发布<综合防控儿童青少年近视实施方案>(控制新的在线游戏数量),游戏行业受到的影响不小. 在游戏产业中,游戏行业2018年的收入同比增长5.2%,远 ...
- 从《乱世王者》看腾讯SLG手游如何搭建完整安全服务
WeTest 导读 <乱世王者>是由腾讯旗下天美工作室群自主研发的一款战争策略手游,在经历了2015年-2017年的SLG品类手游的爆发之势下,于2017年11月21日正式公测. < ...
随机推荐
- Ansible常用模块命令
Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...
- Work at a KFC fast food restaurant
During the summer holiday of 2005,I thought I should do some meaningful instead of at home and watch ...
- IntentService介绍
1.IntentService 是什么 一个封装了HandlerThread和Handler的异步框架. 是一种特殊Service,继承自Service,是抽象类,必须创建子类才可以使用. 可用于执行 ...
- Windbg and resources leaks in .NET applications 资源汇总
Windows Forms Leaks 1.http://blogs.msdn.com/b/tess/archive/2008/02/04/net-debugging-demos-informatio ...
- linux 流量统计
因为很多vps或者服务器都是限流量的,但是又很多服务商并没有提供详细的流量表,比如每天的流量表,所以肯定有人很想知道自己服务器到底跑了多少流量. vnstat就是一个很好用的服务器流量统计命令.我截几 ...
- Ubuntu 16.04.2 LTS 安装 jdk1.6 和 tomcat6 (一)
java和tomcat环境配置已经有很多教程和文章,最近项目需要配置Ubuntu 16.04.2下的古老的java6和tomcat 6,遇到小坑,特记录和分享. 网上的教程不是太新,就是太老,还有一些 ...
- Spring中ApplicationContext和beanfactory区别---解析二
一.BeanFactory 和ApplicationContext Bean 工厂(com.springframework.beans.factory.BeanFactory)是Spring 框架最核 ...
- Hadoop 集群配置记录小结
Hadoop集群配置往往按照网上教程就可以"配置成功",但是你自己在操作的时候会有很多奇奇怪怪的问题出现, 我在这里整理了一下常见的问题与处理方法: 1.配置/etc/hosts ...
- Linux tomcat 添加开机启动
准备工作:将 jdk-7u80-linux-x64.tar.gz 解压到到 /usr/local/目录下将 apache-tomcat-7.0.82.zip 解压到/opt/etcoud目录下,并切换 ...
- asp.net core部署到iis
asp.net core项目部署到IIS稍微不同于之前,记录几个要点: 一.下载安装.NET Core 托管捆绑包,下载地址,这个链接或许不是最新的了,官方文档里面有这个链接,到下图所示位置即可找到. ...