Моя "пятнашка"...не работает
Начинаю изучать js. Решила изучать на практике. По совету одного из участников начала делать "пятнашку":
http://jsfiddle.net/vC8qU/1/ Пока можно двигать только по вертикали. Проблема такая: если "двигать" ячейки вниз то они двигаются до конца, а если "поднимать" то последняя не поднимается, так и остается в нижнем углу... Подскажите, пожалуйста, почему так? Реализация примерно такая: 1. Создается одномерный массив и рандомно сортируется(не суть как) 2. Затем добавляется в двумерный массив 4х4 и цифры из этого массива заносятся в таблицу 3. При клике проверятся есть ли рядом пустая ячейка и если есть то в нее записывается цифра из "кликнутой" ячейки, а в "кликнутой" все стирается. |
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');
}
|
Спасибо))
|
| Часовой пояс GMT +3, время: 12:46. |