Моя "пятнашка"...не работает
Начинаю изучать 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, время: 21:12. |