Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
init()
у Вас объявляются переменные start, game, ai, player, ball
без ключевого слова var. JavaScript, когда встречает такие объявления, делает такие переменные глобальными (если точнее — свойствами объекта window), поэтому все и работает. Но это очень плохой стиль, т.к. мало того, что засоряется глобальное пространство имен, так еще и понять, где что было объявлено потом очень трудно.var start, game, ai, player, ball;
y = ai.y + vY;
y = ai.y + ball.vY;
var vY = Math.abs(ball.vY)-2
Canvas шаг за шагом: ПОНГ