Иллюстрированный самоучитель по созданию Flash-игр

Мяч и бита

Функция movePaddle идентична одноименной функции предыдущей игры. Однако необходимо добавить функцию moveComputerPaddle, управляющую правой битой, которая будет перемещать биту только в том случае, если мяч летит вправо. Бита будет перемещаться вверх, если мяч расположен выше нее, и вниз, если ниже.

Скорость передвижения биты устанавливается в начале функции. Чем выше это значение, тем быстрее бита будет реагировать на перемещения мяча.

function moveComputerPaddle() {
    // Устанавливаем скорость биты, управляемой компьютером.
    moveAmount = 8;
    // Выясняем, движется ли мяч в этом направлении,
    if (dx > 0) {
        // Перемещаем биту вверх.
        if (y < computerPaddle._y - moveAmount) {
            computerPaddle._y -= moveAmount;
            // Перемещаем биту вниз.
        }
        else if (y > computerPaddle._y + moveAmount) {
            computerPaddle._y += moveAmount;
        }
    }
}

Еще один важный фрагмент кода входит в кадр "start game" и устанавливает исходные значения количества мячей и очков. Эти переменные не могут быть вставлены в функцию startLevel, так как они должны быть установлены только в начале игры, а не перед тем, как подается мяч.

numBalls = 7;
computerScore = 0;
playerScore = 0;
stop();

К сведению

В дополнение к уже описанным элементам необходимо создать текстовые поля playerScore и computerScore и поместить их на рабочее поле. Они должны быть расположены во всех кадрах, кроме "start game", таким образом, чтобы были видны между подачами мяча и в конце игры.

Другие возможности

Изменить количество мячей просто: достаточно изменить только одно значение в кадре "start game". Изменяя другие параметры, можно продлить или усложнить игру. Есть и другие варианты усовершенствования игры – например, увеличить скорость биты компьютера, поменяв одно значение в функции moveComputerPaddle.

Также можно сделать компьютер "умнее". Например, написать код, который будет предугадывать место, куда прилетит мяч, и передвигать туда биту вместо того, чтобы просто перемешать ее вслед за мячом. При пересечении границ игрового поля мяч будет ударяться о верхнюю или нижнюю стенку только один раз, так что определить предполагаемое место можно с помощью простых математических расчетов, если вы хорошо владеете математикой.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.