1я неделя

maps
основы js теория
js - функции и лямда-функции, объекты
Введение в браузерные события
Почитать об объекте канвы (canvas)
_____
создать 2 слоя - на нижнем яндекс карта
верхний слой - прозрачный пустой слой канвы
Разместить слои друг над другом
Повесить обработчик клика на пустой слой - выводить в консоль координаты мыши во время клика
Отрисовать точку на верхнем слое
сделать кнопку убирающую/возвращающую верхний слой
Когда верхнего слоя нет - должно быть доступно управление яндекс картой.


module
основы js теория
js - функции и лямда-функции, объекты
Класс: базовый синтаксис
Прототипное наследование
_____
Создать класс
class SomeClass {

}
добавить в него поля и методы
Один метод должен выводить внутренние значения, второй менять
В конструкторе задать значения свойств
добавить в класс свойства хранящие название модуля и версию (отсчёт с 0.1)
создать замыкание над классом для синглтона
let someObj = (function() {
class SomeClass {

}
return new SomeClass();
})();
Написать класс методы которого позволяют получить
массив данных простых объектов с полем type и name
одну запись из массива по переданному в метод параметру type
реализовать на них: build enviroment fraction unit item furniture(container) transport
Продемонстрировать работу методов получения объектов.


editor
основы js теория
js - функции и лямда-функции, объекты
типы данных, работа с функциями
_____
Первые шаги:
0.01
создать файловую структуру проекта. (каталог проекта + что описано ниже)
создать файлы документации проекта: описание и версии модулей.
Создать основной файл логики приложения: js/main.js
создать файл основных стилей css/main.css

0.02
создать файл основной разметки приложения: index.html
определить в нём
Языковую локализацию.
Метаданные: кодировку, viewport, title
Подключить стилевой файл main.css
Разместить основной контейнер в body

0.03
создать js файлы системных модулей: экран сцена камера
подключить js файлы с аттрибутом defer в index.html
модуль screen 0.3
модуль scene 0.1
camera 0.1

0.04
Отобразить сетку мира на экране.
screen 0.4
camera 0.2

0.05
Cоздать мини-карту.
отобразить камеры на миникарте.
map 0.1
camera 0.3

0.06
вынести enviromentType в отдельный модуль.
событие клика по карте - перемещение камеры.
Переключатель управления камерами.
Подключить стили bootstrap.
Увеличить количество enviroment_type.
enviroment_type 0.1
scene 0.2
map 0.2
camera 0.4

0.07
Редактирование островов.
Отображать картинки тайлов.
построение береговой линии.
scene 0.3
screen 0.5

0.08
Изменить отображение тайла, строить из 4х спрайтов.
Скругление тайлов воды, равнины, леса, болота.
Построение меню редактирования из списка enviroment_type.
автоматическое достраивание переходных тайлов.
enviroment_type 0.3
scene 0.4
screen 0.6

По модулям:
scene 0.4
0.1
создать файл scene.js - файл модуля.
Подключить файл в html.
создать замыкание: структуру модуля.
Создать внутренние параметры: ширина высота, слои природный и строений.

0.2
Создать конструктор.
Задать размеры по умолчанию.
создать геттер и сеттер размеров.
Вернуть объект сцены.
Заполнить ячейками по умолчанию.

0.3
Редактирование.
Автоматическое построение береговой линии.
Скругление тайлов воды, равнины, леса, болота.
автоматическое достраивание переходных тайлов.

0.4 Достраивание переходных тайлов


По модулям:
camera 0.4
4 Камера.
0.1
создать файл camera.js - файл модуля.
Подключить файл в html.
создать замыкание: структуру модуля.
Создать внутренние параметры: цвет, координаты, количество захваченных ячеек сцены.
Создать конструктор.
Задать размеры по умолчанию.
Вернуть объект камеры.

0.2
Получить текущий снимок. (вернуть параметры камеры)
Передвинуть камеру.

0.3
Разделить получение параметров и снимка.
Получить снимок из переданной матрицы.

0.4
Переключатели активности камер.


1 Экран. screen 0.6
Создать screen.js - файл модуля.
Подключить файл в html.
создать замыкание: структуру модуля.
Создать внутренние параметры: ширина высота, размер ячейки,
параметры: количество ячеек по ширине и высоте

0.2
создать конструктор.
вычислить размеры экрана.
создать геттер и сеттер размеров экрана.
Вернуть объект экрана.

0.3
Опция: селектор блока.
Методы: Поиск блока по селектору.
Создание холстов.
Изменение холстов.
перекрыть канвасы через css.

0.4
Создать холсты.
Отобразить содержимое ячейки.
Отобразить весь холст.
Задать типы поверхностей.
Задать окрас в зависимости от типа поверхности.

0.5
вывести спрайтами.
ожидание подгрузки спрайта перед рисовкой.
Координаты клика.
Координаты преобразовать в координаты ячейки.

0.6
Тайл строится по 4м спрайтам.


map 0.2
3 Мини карта. map
0.1
создать файл map.js - файл модуля.
Подключить файл в html.
создать замыкание: структуру модуля.
Создать внутренние параметры: .
Создать конструктор.
Вернуть объект карты.
получить данные сцены и построить по ним канву.

0.2
отобразить рамки камер.


0.1
Создать файл enviroment_type.js
Подключить файл в html.
Создать модуль
Добавлены территории: море равнина лес холм болото гора

0.2
Добавлены территории: река побережье.

0.3
Скругление тайлов воды, равнины, леса, болота с помощью changeSet.