Angie,
добавьте проверку что y + 1 или y - 1 лежит в пределах от 0 до 4
// проверяем наичие пустой чейки снизу
if(y+1<4&&nums[y+1][x] == undefined){
nums[y+1][x] = nums[y][x];
emptyCell = document.getElementById('empty');
emptyCell.innerHTML = nums[y+1][x];
//
nums[y][x] = undefined;
this.innerHTML = '';
this.setAttribute('id','empty');
emptyCell.removeAttribute('id');
}
// проверяем наичие пустой чейки сверху
else if(y-1>=0&&nums[y-1][x] == undefined){
nums[y-1][x] = nums[y][x];
emptyCell = document.getElementById('empty');
emptyCell.innerHTML = nums[y-1][x];
//
nums[y][x] = undefined;
this.innerHTML = '';
this.setAttribute('id','empty');
emptyCell.removeAttribute('id');
}