Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.02.2012, 13:07
Аватар для Angie
Новичок на форуме
Отправить личное сообщение для Angie Посмотреть профиль Найти все сообщения от Angie
 
Регистрация: 04.02.2012
Сообщений: 2

Моя "пятнашка"...не работает
Начинаю изучать js. Решила изучать на практике. По совету одного из участников начала делать "пятнашку":
http://jsfiddle.net/vC8qU/1/
Пока можно двигать только по вертикали. Проблема такая: если "двигать" ячейки вниз то они двигаются до конца, а если "поднимать" то последняя не поднимается, так и остается в нижнем углу...

Подскажите, пожалуйста, почему так?

Реализация примерно такая:
1. Создается одномерный массив и рандомно сортируется(не суть как)
2. Затем добавляется в двумерный массив 4х4 и цифры из этого массива заносятся в таблицу
3. При клике проверятся есть ли рядом пустая ячейка и если есть то в нее записывается цифра из "кликнутой" ячейки, а в "кликнутой" все стирается.
Ответить с цитированием
  #2 (permalink)  
Старый 04.02.2012, 14:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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');
        }
Ответить с цитированием
  #3 (permalink)  
Старый 04.02.2012, 14:31
Аватар для Angie
Новичок на форуме
Отправить личное сообщение для Angie Посмотреть профиль Найти все сообщения от Angie
 
Регистрация: 04.02.2012
Сообщений: 2

Спасибо))
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
скрипт работает в IE не работает в Opera!!! Ikram Opera, Safari и др. 3 29.10.2010 10:04
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32