Почему число в игре 2048 перепрыгивает сразу на следующую часть, а не задерживается?
Я пытаюсь написать своё первое приложение, игру 2048. Суть кода проста, мне нужно чтобы нужное число задерживалось (если оно менялось) и только потом продолжала дальше свой путь по игровой арене. Но оно почему-то сразу перепрыгивает на следующую часть :(
Метод right():
public void right(int s1,int s2,int s3,int s4,int s5,int s6,
int s7,int s8,int s9,int s10, int s11,int s12,int s13,int s14,int s15,int s16) {
int a1= s1;
int a10=s10;
int a11=s11;
int a12=s12;
int a13=s13;
int a14=s14;
int a15=s15;
int a16=s16;
int a2= s2;
int a3= s3;
int a4= s4;
int a5= s5;
int a6= s6;
int a7= s7;
int a8= s8;
int a9= s9;
if (a2==0){
a2=a1;
a1=0;
} if (a6==0){
a6=a5;
a5=0;
} if (a10==0){
a10=a9;
a9=0;
} if (a14==0){
a14=a13;
a13=0;
} if (a2!=s2 | a6!=s6 | a10!=s10 | a14!=s14){
arena(a1,a2,s3,s4,a5,a6,s7,s8,a9,a10,s11,s12,a13,a14,s15,s16);
stock(a1,a2,s3,s4,a5,a6,s7,s8,a9,a10,s11,s12,a13,a14,s15,s16);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (a3==0){
a3=a2;
a2=0;
} if (a7==0){
a7=a6;
a6=0;
} if (a11==0){
a11=a10;
a10=0;
} if (a15==0){
a15=a14;
a14=0;
} if (a3!=s3 | a7!=s7 | a11!=s11 | a15!=s15){
arena(a1,a2,a3,s4,a5,a6,a7,s8,a9,a10,a11,s12,a13,a14,a15,s16);
stock(a1,a2,a3,s4,a5,a6,a7,s8,a9,a10,a11,s12,a13,a14,a15,s16);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Метод arena():
public void arena(int s1,int s2,int s3,int s4,int s5,int s6,int
s7,int s8,int s9,int s10,
int s11,int s12,int s13,int s14,int s15,int s16){
if (s1==0){
sector1_0.setVisibility(View.VISIBLE);
sector1_2.setVisibility(View.INVISIBLE);
sector1_4.setVisibility(View.INVISIBLE);
sector1_8.setVisibility(View.INVISIBLE);
} if(s1!=0) {
if (s1==2){
sector1_0.setVisibility(View.INVISIBLE);
sector1_2.setVisibility(View.VISIBLE);
}
}
if (s2==0){
sector2_0.setVisibility(View.VISIBLE);
sector2_2.setVisibility(View.INVISIBLE);
sector2_4.setVisibility(View.INVISIBLE);
sector2_8.setVisibility(View.INVISIBLE);
} if(s2!=0) {
if (s2==2){
sector2_0.setVisibility(View.INVISIBLE);
sector2_2.setVisibility(View.VISIBLE);
}
}
if (s3==0){
sector3_0.setVisibility(View.VISIBLE);
sector3_2.setVisibility(View.INVISIBLE);
sector3_4.setVisibility(View.INVISIBLE);
sector3_8.setVisibility(View.INVISIBLE);
} if(s3!=0) {
if (s3==2){
sector3_0.setVisibility(View.INVISIBLE);
sector3_2.setVisibility(View.VISIBLE);
}
}
if (s4==0){
sector4_0.setVisibility(View.VISIBLE);
sector4_2.setVisibility(View.INVISIBLE);
sector4_4.setVisibility(View.INVISIBLE);
sector4_8.setVisibility(View.INVISIBLE);
} if(s4!=0) {
if (s4==2){
sector4_0.setVisibility(View.INVISIBLE);
sector4_2.setVisibility(View.VISIBLE);
}
}
if (s5==0){
sector5_0.setVisibility(View.VISIBLE);
sector5_2.setVisibility(View.INVISIBLE);
sector5_4.setVisibility(View.INVISIBLE);
sector5_8.setVisibility(View.INVISIBLE);
} if(s5!=0) {
if (s5==2){
sector5_0.setVisibility(View.INVISIBLE);
sector5_2.setVisibility(View.VISIBLE);
}
}
if (s6==0){
sector6_0.setVisibility(View.VISIBLE);
sector6_2.setVisibility(View.INVISIBLE);
sector6_4.setVisibility(View.INVISIBLE);
sector6_8.setVisibility(View.INVISIBLE);
} if(s6!=0) {
if (s6==2){
sector6_0.setVisibility(View.INVISIBLE);
sector6_2.setVisibility(View.VISIBLE);
}
}
if (s7==0){
sector7_0.setVisibility(View.VISIBLE);
sector7_2.setVisibility(View.INVISIBLE);
sector7_4.setVisibility(View.INVISIBLE);
sector7_8.setVisibility(View.INVISIBLE);
} if(s7!=0) {
if (s7==2){
sector7_0.setVisibility(View.INVISIBLE);
sector7_2.setVisibility(View.VISIBLE);
}
}
if (s8==0){
sector8_0.setVisibility(View.VISIBLE);
sector8_2.setVisibility(View.INVISIBLE);
sector8_4.setVisibility(View.INVISIBLE);
sector8_8.setVisibility(View.INVISIBLE);
} if(s8!=0) {
if (s8==2){
sector8_0.setVisibility(View.INVISIBLE);
sector8_2.setVisibility(View.VISIBLE);
}
}
if (s9==0){
sector9_0.setVisibility(View.VISIBLE);
sector9_2.setVisibility(View.INVISIBLE);
sector9_4.setVisibility(View.INVISIBLE);
sector9_8.setVisibility(View.INVISIBLE);
} if(s9!=0) {
if (s9==2){
sector9_0.setVisibility(View.INVISIBLE);
sector9_2.setVisibility(View.VISIBLE);
}
}
if (s10==0){
sector10_0.setVisibility(View.VISIBLE);
sector10_2.setVisibility(View.INVISIBLE);
sector10_4.setVisibility(View.INVISIBLE);
sector10_8.setVisibility(View.INVISIBLE);
} if(s10!=0) {
if (s10==2){
sector10_0.setVisibility(View.INVISIBLE);
sector10_2.setVisibility(View.VISIBLE);
}
}
if (s11==0){
sector11_0.setVisibility(View.VISIBLE);
sector11_2.setVisibility(View.INVISIBLE);
sector11_4.setVisibility(View.INVISIBLE);
sector11_8.setVisibility(View.INVISIBLE);
} if(s11!=0) {
if (s11==2){
sector11_0.setVisibility(View.INVISIBLE);
sector11_2.setVisibility(View.VISIBLE);
}
}
if (s12==0){
sector12_0.setVisibility(View.VISIBLE);
sector12_2.setVisibility(View.INVISIBLE);
sector12_4.setVisibility(View.INVISIBLE);
sector12_8.setVisibility(View.INVISIBLE);
} if(s12!=0) {
if (s12==2){
sector12_0.setVisibility(View.INVISIBLE);
sector12_2.setVisibility(View.VISIBLE);
}
}
if (s13==0){
sector13_0.setVisibility(View.VISIBLE);
sector13_2.setVisibility(View.INVISIBLE);
sector13_4.setVisibility(View.INVISIBLE);
sector13_8.setVisibility(View.INVISIBLE);
} if(s13!=0) {
if (s13==2){
sector13_0.setVisibility(View.INVISIBLE);
sector13_2.setVisibility(View.VISIBLE);
}
}
if (s14==0){
sector14_0.setVisibility(View.VISIBLE);
sector14_2.setVisibility(View.INVISIBLE);
sector14_4.setVisibility(View.INVISIBLE);
sector14_8.setVisibility(View.INVISIBLE);
} if(s14!=0) {
if (s14==2){
sector14_0.setVisibility(View.INVISIBLE);
sector14_2.setVisibility(View.VISIBLE);
}
}
if (s15==0){
sector15_0.setVisibility(View.VISIBLE);
sector15_2.setVisibility(View.INVISIBLE);
sector15_4.setVisibility(View.INVISIBLE);
sector15_8.setVisibility(View.INVISIBLE);
} if(s15!=0) {
if (s15==2){
sector15_0.setVisibility(View.INVISIBLE);
sector15_2.setVisibility(View.VISIBLE);
}
}
if (s16==0){
sector16_0.setVisibility(View.VISIBLE);
sector16_2.setVisibility(View.INVISIBLE);
sector16_4.setVisibility(View.INVISIBLE);
sector16_8.setVisibility(View.INVISIBLE);
} if(s16!=0) {
if (s16==2){
sector16_0.setVisibility(View.INVISIBLE);
sector16_2.setVisibility(View.VISIBLE);
}
}
}