исло) - координата Y кульки в минулий момент часу;
number (натуральне число) - номер комірки, в яку потрапляє кульку.
Примітка: всі координати відраховуються від лівого верхнього кута поля малювання (канви) відповідно направо і вниз.
Зміна картинки здійснюється через певні моменти часу, які визначаються параметром dt . Прирощення координати кульки визначається параметром dz . У першого з кульок параметр start на початок анімації приймає значення "істина", у інших "брехня". Після старту першого кульки починається відлік часу. Коли настане момент часу, який визначається параметром period , наступний кульку починає рух ( start набуває значення "істина") і т.д.
У процесі побудови кадру в першу чергу для кожної кульки визначається, чи почав він рух і не закінчив Чи його і чи не знаходиться на останньому поверсі. Далі з'ясовуємо, чи досяг кулька похилого ділянки даного поверху або падає вертикально вниз. Якщо він знаходиться на вертикальному відрізку, то збільшуємо його вертикальну координату пропорційно dz (коефіцієнт пропорційності залежить від номера поверху, але не перевищує 4, таким чином забезпечується прискорення кульок у міру падіння). Якщо нова координата z перевищила висоту вертикального ділянки a < span align = "justify">, то здійснюємо присвоювання z = a , а параметру linear задаємо значення "брехня". Якщо ж кулька перебував на похилій ділянці, то він повинен здійснити рух у похилому напрямку, залежному від величини, що відповідає останньому повороту (-1 або +1), від параметра dz і від номера поверху. Нижче наведені формули, за якими обчислюються збільшення обох координат кульки в цьому випадку:
В В
знак в останній формулі визначається напрямком руху - В«+ , якщо направо і" - ", якщо наліво. Після збільшення відповідних координат з'ясовуємо, не перевищила Чи координата z значення h . Якщо це так, то номер поверху stage кульки збільшуємо на 1, координату z Обнуляємо: z =