console.log(newData);
[1, 2, 3, 4].forEach((cellData, i) => {
[1, 2, 3, 4].forEach((rowData, j) => {
data[3 - j][i] = Math.abs(newData[i][j]) || 0;
});
});
break;
}
네 방향으로 정렬하기와 숫자 합치기까지 모두 구현했습니다. i와 j 때문에 무척 헷갈렸을 겁니다. 생각만으로 구현하기 어렵다면 노트에 배열을 그리고 순서대로 숫자를 대입해 보는 것도 방법입니다.
마지막으로 moveCells() 함수의 끝부분에서 put2ToRandomCell() 함수를 호출합니다. 그러면 숫자를 정렬하고 합친 후 무작위 위치에 숫자 2 타일을 새로 생성합니다. draw() 함수보다는 위에 있어야 새로운 타일이 화면에 표시됩니다.
function moveCells(direction) {
(중략)
put2ToRandomCell(); // 무작위 위치에 새로운 숫자 2 넣기
draw();
}