// Импортируем его в публикацию addPicture(Arr42, i)
11 Устанавливаем в нужную позицию.
// Внимание: учитываются размер и пропорции рекламы! myRec.move([X-stepX, Y-3*stepY])
// Помечаем соответствующие модули на странице как занятые
myMap[myRow-1][myColumn] = 1
myMap[myRow-l][myColumn-1] = 1
myMap[myRow-2][myColumn] = 1
myMap[myRow-2][myColumn-1] = 1
myMap[myRow-3][myColumn] = 1
myMap[myRow-3][myColumn-1] = 1
// Определяем следующий свободный модуль findCurrPos()
>
// Таким образом, просматриваем содержимое каждого массива.
// При этом начинаем с тех, в которых заключены ссылки // на самую крупную рекламу, и продолжаем до самой мелкой.
Как только мы закончим просмотр всех массивов, эго будет означать, что вся реклама из указанной папки уже размещена- в самом начале скрипта мы ее разбрасывали по этим массивам, т. е. количество элементов в массивах в точности соответствует количеству файлов с рекламой.
// Ищем рекламу такого же размера, но горизонтальную for (i in Arr24){
addPicture(Arr24, i)
myRec.move([X-3*stepX, Y-stepY])
myMap[myRow][myColumn-1] = 1 myMap[myRow-1][myColumn-1] = 1 myMap[myRow][myColumn-2] = 1 myMap[myRow-1][myColumn-2] = 1 myMap[myRow][myColumn-3] = 1 myMap[myRow-1][myColumn-3] = 1
findCurrPos()
>
// Ищем рекламу размером 3x1 блок for (i in Arr31){ addPicture(Arr31, i) myRec.move([X, Y-2*stepY])
myMap[myRow-1][myColumn] = 1 myMap[myRow-2][myColumn] = 1
findCurrPos()
// И так далее для всех возможных комбинаций for (i in Arr32){
addPicture(Arr32, i)
myRec.move([X-stepX, Y-2*stepY])
myMap[myRow-1][myColumn] = 1 myMap[myRow-1][myColumn-1] = 1 myMap[myRow-2][myColumn] = 1 myMap[myRow-2][myColumn-1] = 1
findCurrPos()
}
for (i in АггЗЗ){
addPicture(АггЗЗ, i)
myRec.move([X-2*stepX, Y-2*stepY])
myMap[myRow-1][myColumn] = 1 myMap[myRow-1][myColumn-1] = 1 myMap[myRow-1][myColumn-2] = 1 myMap[myRow-2][myColumn] = 1 myMap[myRow-2][myColumn-1] = 1 myMap[myRow-2][myColumn-2] = 1
findCurrPos()
}
for (i in Arrl3){
addPicture(Arrl3, i) myRec.move([X-2*stepX, Y])
myMap [myRow] [myColumn-1] = 1 myMap [myRow] [myColumn-2 ] = 1
findCurrPos()
}
for (i in Arr23){ addPicture(Arr23, i) myRec.move([X-2*stepX, Y-srepY])
myMap[myRow][myColumn-1] = 1 myMap[myRow-1][myColumn-1] = 1 myMap [myRow] [myColurnn-2] = 1 myMap[myRow-1][myColumn-2] = 1
findCurrPos()
}
for (i in Arr22){
addPicture(Arr22, i) myRec.move([X-stepX, Y-stepY])
myMap[myRow][myColumn-1] = 1 myMap[myRow-1][myColumn] = 1 myMap[myRow-1][myColumn-1] = 1
findCurrPos()
}
for (i in Arrl2)(
addPicture(Arrl2, i) myRec.move([X-stepX, Y]) myMap[myRow][myColumn-1] = 1
findCurrPos()
}
for (i in Arr21){
addPicture(Arr21, i) myRec.move([X, Y-stepY]) myMap[myRow-1][myColumn] = 1
findCurrPos()
}
for (i in Arrll){
addPicture(Arrll, i) myRec.move([X, Y]) findCurrPos()
}
II В принципе, перебор всех возможных типоразмеров рекламы II можно оформить в виде цикла - это даст гораздо большую // компактность кода
// Функция определения следующей свободной позиции.
// Возвращает координаты для размещения модуля, а также строку и колонку function findCurrPos(){
for (ii=startR; ii<rows; ii++) {