function moveBall {
// Изменяем координаты x и y.
x += dx;
y += dy;
// Проверяем, попал ли мяч в нижнюю стену.
if (y+ballRadius > bottomWall) {
overshoot = (y+ballRadius) – bottomWall;
y -= overshoot*2;
dy *= -1;
}
// Проверяем, попал ли мяч в верхнюю стену.
if (y-ballRadius < topWall) {
overshoot = topWall – (y-ballRadius);
y += overshoot*2;
dy *= -1;
}
(9) → // Находится ли мяч там, где по нему должна ударить бита?
paddleRight = paddle._x+(paddle._width/2);
if ((x-ballRadius < paddleRight) and !passedPaddle) {
// Находится ли там бита?
paddleTop = paddle._y-(paddle._height/2);
paddleBottom = paddle._y+(paddle._height/2);
if ((y > paddleTop) and (y < paddleBottom)) {
// Удар битой.
overshoot = paddleRight – (x-ballRadius);
x += overshoot*2;
dx += -1;
// Увеличиваем скорость мяча.
dx *= 1.05;
dy *= 1.05;
} else {
// Мяч пропущен, больше ничего не проверяем.
passedPaddle = true;
}
}
(10) → // Находится ли мяч там,
// где должен столкнуться с битой компьютера?
paddleLeft = computerPaddle._x-(computerPaddle._width/2);
if ((x+ballRadius > paddleLeft) and !passedPaddle) {
// Находится ли там бита?
paddleTop = computerPaddle._y-(computerPaddle._height/2);
paddleBottom = computerPaddle_>y+
(computeerPaddle._height/2);
if ((y > paddleTop) and (y < paddleBottom)) {
// Удар битой.
oveershoot = (x+ballRadius) – paddleLeft;
x -= overshoot*2;
dx *= -1;
// Увеличиваем скорость мяча.
dx *= 1.05;
dy *= 1.05;
} else {
// Мяч пропущен, ничего больше не проверяем.
passedPaddle = true;
}
}
(11) → // Проверяем, попал ли мяч в левую стену.
if ((x-ballRadius < leftWall) and passedPaddle) {
Mouse.show;
computerScore++;
if (numBalls == 0) {
gotoAndPlay("game over");
} else {
numBalls–;
gotoAndPlay("start level");
}
}
(12) → // Выполняем аналогичную проверку для правой стены.
if ((x+ballRadius > rightWall) and passedPaddle) {
Mouse.show;
playerScore++;
if (numBalls == 0) {
gotoAndPlay("game over");
} else {
numBalls—;
gotoAndPlay("start level");
}
}
// Устанавливаем новое положение мяча.
ball._x = x;
ball._y = y;
}Функция movePaddle идентична одноименной функции предыдущей игры. Однако необходимо добавить функцию moveComputerPaddle, управляющую правой битой, которая будет перемещать биту только в том случае, если мяч летит вправо. Бита будет перемещаться вверх, если мяч расположен выше нее, и вниз, если ниже. Скорость передвижения биты устанавливается в начале функции. Чем выше это значение, тем быстрее бита будет реагировать на перемещения мяча.