zoukankan      html  css  js  c++  java
  • Android手游2048核心功能

      1 private void swipeUp(){ //向上滑动函数
      3         for (int x = 0; x < 4; x++) { //行从上到下
      4             for (int y = 0; y < 4; y++) { //列从左到右
      5                 for (int y1 = y+1; y1 < 4; y1++) { //当前方块的下一个向底遍历
      6                     if (Matrix[x][y1].getNum()>0) { //如果遍历过程中有非空方块(即有数字),则执行操作
      7                         if (Matrix[x][y].getNum()<=0) { //如果当前方块是空值,则将遍历到的非空方块移动到当前方块
      9                             int yoy =y1 - y; //移动的步距值
     10                             ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0, 
     11                                     Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-yoy); //-yoy为负数,即相对于0,在y方向产生向上移动yoy步距的动画
     12                             ta.setDuration(100); //动画持续时间
     13                             Matrix[x][y1].startAnimation(ta); //演示动画
     15                             Matrix[x][y].setNum(Matrix[x][y1].getNum()); //设置当前方块值,移动成功
     16                             Matrix[x][y1].setNum(0); //将遍历到的方块值清零,即不显示
     17                             y--; //break后重新从当前方块的下一个重新开始遍历,等待一次寻找到相同值且合并的机会                           
    break; //break后重新从当前方块的下一个重新开始遍历,等待一次寻找到相同值且合并的机会 20 }else if (Matrix[x][y].equals(Matrix[x][y1])) { //如果当前方块的值与遍历到的方块值相等 22 int yoy =y1 - y; //移动的步距值 23 ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0, 24 Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-yoy); //-yoy为负数,即相对于0,在y方向产生向上移动yoy步距的动画 25 ta.setDuration(100); //动画持续时间 26 Matrix[x][y1].startAnimation(ta); //演示动画 28 Matrix[x][y].setNum(Matrix[x][y1].getNum()*2); //设置当前方块值为两倍,即两方块相加 29 Matrix[x][y1].setNum(0); //将遍历到的方块清零,即不显示
    break; //完成相加后,从下一个方块开始完成新一轮操作 33 }else { 34 break; //如果当前方块的值与遍历到的方块值不相等,则从下一个方块开始完成新一轮操作 35 } 36 } 37 } 38 } 39 } 41 } 42 43 private void swipeDown(){ //向下滑动函数 45 for (int x = 0; x < 4; x++) { 46 for (int y = 3; y >= 0; y--) { 47 for (int y1 = y-1; y1 >= 0; y1--) { 48 if (Matrix[x][y1].getNum()>0) { 49 if (Matrix[x][y].getNum()<=0) { 51 int yoy =y1 - y; 52 ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0, 53 Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-yoy); 54 ta.setDuration(100); 55 Matrix[x][y1].startAnimation(ta); 57 Matrix[x][y].setNum(Matrix[x][y1].getNum()); 58 Matrix[x][y1].setNum(0); 59 y++;
    break; 62 }else if (Matrix[x][y].equals(Matrix[x][y1])) { 64 int yoy =y1 - y; 65 ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0, 66 Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-yoy); 67 ta.setDuration(100); 68 Matrix[x][y1].startAnimation(ta); 70 Matrix[x][y].setNum(Matrix[x][y1].getNum()*2); 71 Matrix[x][y1].setNum(0);
    break; 75 }else { 76 break; 77 } 78 } 79 } 80 } 81 } 83 } 84 85 private void swipeLeft(){ //向左滑动函数 87 for (int y = 0; y < 4; y++) { 88 for (int x = 0; x < 4; x++) { 89 for (int x1 = x+1; x1 < 4; x1++) { 90 if (Matrix[x1][y].getNum()>0) { 91 if (Matrix[x][y].getNum()<=0) { 93 int xox =x1 - x; 94 ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-xox, 95 Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0); 96 ta.setDuration(100); 97 Matrix[x1][y].startAnimation(ta); 99 Matrix[x][y].setNum(Matrix[x1][y].getNum()); 100 Matrix[x1][y].setNum(0); 101 x--;
    break; 104 }else if (Matrix[x][y].equals(Matrix[x1][y])) { 106 int xox =x1 - x; 107 ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-xox, 108 Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0); 109 ta.setDuration(100); 110 Matrix[x1][y].startAnimation(ta); 112 Matrix[x][y].setNum(Matrix[x1][y].getNum()*2); 113 Matrix[x1][y].setNum(0);
    break; 117 }else { 118 break; 119 } 120 } 121 } 122 } 123 } 125 } 126 127 private void swipeRight(){ //向右滑动函数 129 for (int y = 0; y < 4; y++) { 130 for (int x = 3; x >= 0; x--) { 131 for (int x1 = x-1; x1 >= 0; x1--) { 132 if (Matrix[x1][y].getNum()>0) { 133 if (Matrix[x][y].getNum()<=0) { 135 int xox =x1 - x; 136 ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-xox, 137 Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0); 138 ta.setDuration(100); 139 Matrix[x1][y].startAnimation(ta); 141 Matrix[x][y].setNum(Matrix[x1][y].getNum()); 142 Matrix[x1][y].setNum(0); 143 x++;
    break; 146 }else if (Matrix[x][y].equals(Matrix[x1][y])) { 148 int xox =x1 - x; 149 ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,-xox, 150 Animation.RELATIVE_TO_SELF,0, Animation.RELATIVE_TO_SELF,0); 151 ta.setDuration(100); 152 Matrix[x1][y].startAnimation(ta); 154 Matrix[x][y].setNum(Matrix[x1][y].getNum()*2); 155 Matrix[x1][y].setNum(0);
    break; 159 }else { 160 break; 161 } 162 } 163 } 164 } 165 } 167 }
  • 相关阅读:
    说明因 Active Directory 冲突导致的 NTDS 复制警告 ID 1083 和 1061 以及 SAM 错误 ID 12294
    KB817701:可用于解决帐户锁定问题的 Service Pack 和修复程序
    log check
    AD account 锁定问题
    VS.2005 中比较有用的快捷键
    用户帐户意外锁定, 以及 Windows Server 2003 中记录事件 ID 12294
    xp 重新安装MDAC
    [学习收藏]业界三种架构优缺点比较
    [收藏学习]Linux内核虚拟机 学习KVM架构及其优点
    两个命令:hdparm和iozone参数解释
  • 原文地址:https://www.cnblogs.com/VRGamer-006/p/8437370.html
Copyright © 2011-2022 走看看