Интерактивная таблица
Прошу совета и выправление направления движения мыслей, по данному поводу:
Задача #1 Дано: Есть таблица 10х10. Закрашенная в черный цвет. Ячейку 1:1 окрасить ее в белый цвет. - назовем белый квадрат. Кнопки курсора (лево, право, вверх,вниз) Необходимо: С помощью Кнопок курсора, "гонять" по таблице белый квадрат (естественно, там где он был, обратно закрашивается в черный). Задача #2 Дано: Готовая задача №1. 2 или более кнопок планируемых действий. Необходимо: Допустим белый квадрат находится на ячейки 5:5, при нажатие на одну из кнопок планируемых действий окрасить в серый цвет последующие N ячеек (направлением "к верху" таблицы) Что планируется делать: задача №1 Создать 2 мерый массив (равный полю), на сервере. Где каждая элемент массива может принимать значение 0 или 1. 0 - черный фон, 1- белый квадрат. При нажатие на кнопку курсора передавать "направление" черех ajax на сервер, вычитать или прибавлять индекс в массиве в зависимости от "направления", и в полученном значение менять 0 на 1. И соответсвенно с помощью Ajax выдавать обновленную таблицу клиенту. Вот сообственно дальше у меня затык. Если поможете буду очень счастлив ) |
И? Задача 1- вам слушатель нажатий кнопок, две переменные с позицией по X и Y, четыре кода клавиш в событии и стиль или класс задаете для выделенной ячейки, для предыдущей ячейки удаляете класс/стиль.
Нафига там сервер и ajax? |
да нет, по первой задачки, все очень понятно.
меня больше волнует вторая) первая это придесловие |
Так и для 2 зачем вам сервер и ajax? "вычитать или прибавлять индекс в массиве в зависимости от "направления", и в полученном значение менять 0 на 1"
можно и нужно делать js. Или я что-то пропустил, и вчера js разучился с двумерными массивами работать? |
ну скажем так, что это прилюдия, и данные о местонахождение белого квадрата, должны обрабатываться на сервере, для последующих нужд (их я опущу из-за ненадобности). Плюс к тому, в последствие необходимо проверять некие данные о местанохождение. Проверять их на стороне клиента не правильно (доверяй, но проверяй как говориться :) ).
Поэтому и был выбран вариант с подгрузкой. Я отдаю себе отчет, что не объязательно заного гонять таблицу обратно, а достаточно только сделать маркер проверки, возвращенного сервером. но это уже фигня. Меня вот парит вторая задачка. Не совсем себе представляю, как с ней работать (понятно, что на стороне клиента будет меняться класс, стиль или еще чего). Но как обсчитать эти действия, для меня вопрос. Надо поработать с матрицей, но мозг не хочет... уже... |
Если вы именно так сделаете, то каждое движение пользователя будет отрабатываться секунду-другую. Вряд ли пользователи оценят, что ваш квадрат будет реагировать на нажатие клавиши с такой задержкой.
|
Rootpassword
Мы удаляемся от темы. Я полностью поддерживаю, то что вы говорите. Но дабы поставить на этом точку: 1) Работать с этой таблицей будет 1-2 человека в локальной сети, на не загруженном железе; 2) Помимо этой таблицы, существуют дополнительные обвесы на данной странице, которые и без того сделают страницу тяжолой к ее полной выдаче. Пользователю наплевать сколько ему ждать 1 или 3 секунды; 3) Я уже упоминал, что это прилюдия и в последующей оптимизации передаваемые данные будут минимизированы. |
Часовой пояс GMT +3, время: 16:54. |