yaparoff,
Сообщение от yaparoff
|
2) Что означает noFree = true ? То что ячейка занята?
|
Ну ведь понятно же - именно это.
Сообщение от yaparoff
|
3) На 36 строке для чего мы Math.random() умножаем именно на 19 ? Затем всё это умножаем на 20 и после вычитаем fieldTop?
Почему именно так?
|
сначала получаем случайное число от 0 до 19 - т.к у нас 20 ячеек по вертикали и по горизонтали, а потом умножаем на 20 - размер ячейки, корректируем полученные координаты относительно положения контейнера
Сообщение от yaparoff
|
4) Что означает эта запись (строка 40):
if(units[i].top == unitTop && units[i].left == unitLeft) noFree = true;
|
если две новых координаты unitTop и unitLeft есть у каких-то units - ячейка занята
Сообщение от yaparoff
|
5) Для чего в 60-ой строке стоит noFree = true; ?
|
Убрать значение предыдущей итерации. Чтобы цикл do-while заработал.
Сообщение от yaparoff
|
6) Для чего нужен второй цикл на 71 строке ?
|
Первый цикл - новые координаты для животных, второй - проверка занятости ячеек
Сообщение от yaparoff
|
7) Строки 77 и 79: для чего мы задаем одно и то же значение для units[i].left и animals[i].left ?
|
Запоминаем новые позиции животных.
units - все элементы - камни и животные, для проверки занятости ячеек
animals - животные, для управления
Сообщение от yaparoff
|
8) Как существо понимает, что на камень нельзя заходить?
|
Смотри ответ на вопрос 4
Сообщение от Diphenyl Oxalate
|
76 units[i],top = unitTop;
78 animals[i],top = unitTop;
Вот, а в strict mode бы не пустило.
|
Спасибо. Просто я писал наскоро, на смартфоне (Очень неудобно!). Специально написал, что черновик. Поправил. Убрались некоторые глюки
PS: имейте в виду, что строки скрипта немного сдвинулись в связи с расширением функциональности в последней редакции