public void Up(){ boolean flag=false; for(int y=0;y<4;y++){ for(int x=0;x<4;x++){ for(int x1=x+1;x1<4;x1++){ if(card[x1][y].getText()!=""){ int num = Integer.parseInt(card[x1][y].getText().toString()); if(card[x][y].getText()==""){ card[x][y].setText(num+""); card[x1][y].setText(""); x--; flag=true; break; }else if(equals(card[x][y],card[x1][y])){ num*=2; card[x][y].setText(num+""); card[x1][y].setText(""); int score = Integer.parseInt(tvScore.getText().toString()); score+=num; tvScore.setText(score+""); flag=true; break; }else{ break; } } } } } if(flag) { RandNum(); StopGame(); } }
时间: 2023-06-19 18:07:52 浏览: 50
关于如何彻底搞定Android Kitkat+沉浸式状态栏效果.zip
这段代码是实现 2048 游戏中数字方块上移的操作。具体来说,这个方法会对游戏界面上的每一列(y轴方向)从上到下扫描,对于每一个数字方块,判断它上方是否有空位或者是否与上方的数字方块数字相同。如果有空位,则将当前数字方块移动到该空位,如果与上方数字相同,则将两个数字方块合并。在移动或合并数字方块的过程中,如果有任何一个数字方块发生了变化,就会调用 RandNum() 方法随机生成一个新的数字方块,并检查游戏是否结束(没有空位或者无法继续合并数字方块)。同时,如果有数字方块被合并,就会更新当前得分。
阅读全文