Не в силах увидеть ошибку, прошу подсказать.
package com.javarush.games.game2048;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] row1 = new int[]{4, 4, 0, 0};
System.out.println(mergeRow(row1));
mergeRow(row1);
System.out.println(Arrays.toString(row1));
int[] row2 = new int[]{2, 2, 2, 2};
System.out.println(mergeRow(row2));
mergeRow(row2);
System.out.println(Arrays.toString(row2));
int[] row3 = new int[]{4, 2, 2, 0};
System.out.println(mergeRow(row3));
mergeRow(row3);
System.out.println(Arrays.toString(row3));
int[] row4 = new int[]{0, 2, 2, 0};
System.out.println(mergeRow(row4));
mergeRow(row4);
System.out.println(Arrays.toString(row4));
int[] row5 = new int[]{0, 2, 2, 2};
System.out.println(mergeRow(row5));
mergeRow(row5);
System.out.println(Arrays.toString(row5));
int[] row6 = new int[]{4, 0, 4, 0};
System.out.println(mergeRow(row6));
mergeRow(row6);
System.out.println(Arrays.toString(row6));
// System.out.println(mergeRow(row2));
// System.out.println(mergeRow(row3));
// System.out.println(mergeRow(row4));
// System.out.println(mergeRow(row5));
// System.out.println(mergeRow(row6));
// System.out.println(Arrays.toString(bubbleSort(row1)));
// System.out.println(Arrays.toString(bubbleSort(row2)));
// System.out.println(Arrays.toString(bubbleSort(row3)));
// System.out.println(Arrays.toString(bubbleSort(row4)));
// System.out.println(Arrays.toString(bubbleSort(row5)));
// System.out.println("");
// compressRow(row1);
// compressRow(row2);
// compressRow(row3);
// compressRow(row4);
// compressRow(row5);
// mergeRow(row1);
// mergeRow(row2);
// mergeRow(row3);
// mergeRow(row4);
// mergeRow(row5);
// mergeRow(row6);
// System.out.println(Arrays.toString(mergeRow(row1)));
// System.out.println(Arrays.toString(mergeRow(row2)));
// System.out.println(Arrays.toString(mergeRow(row3)));
// System.out.println(Arrays.toString(mergeRow(row4)));
// System.out.println(Arrays.toString(mergeRow(row5)));
// System.out.println(Arrays.toString(mergeRow(row6)));
}
private static boolean mergeRow (int[] row) {
int[] rowCopy = new int[row.length];
int[] forEquals = Arrays.copyOf(row, row.length);
for (int i = 0; i < row.length - 1; i++) {
if(row[i] == row[i+1]) {
rowCopy[i] = row[i] + row[i+1];
rowCopy[i+1] = 0;
row[i+1] = 0;
}
else if(row[i] == 0 && row[i+1] != 0){rowCopy[i+1] = row[i+1];}
else {rowCopy[i] = row[i];}
}
for (int i = 0; i < rowCopy.length; i++) {row[i] = rowCopy[i];}
return !Arrays.equals(row, forEquals);
}
// private static boolean compressRow(int[]row) {
// int[] rowCopy = new int[row.length];
// int count = 0;
// for (int num: row) {
// if (num != 0) {
// rowCopy[count] = num;
// count++;
// }
// }
// for (int i = 0; i < rowCopy.length; i++) {row[i] = rowCopy[i];}
// return !Arrays.equals(row, rowCopy);
// }
}