Поймай хорошее яблоко
Создание кода
Код клипа "actions" аналогичен тому, что использовался в игре "Поймай яблоко". Изменятся только функции. В функцию initGame было внесено лишь одно изменение: число падающих яблок было увеличено до 50.

Рис. 9.5. Клип "bad apple" состоит из 20 кадров. Каждый кадр содержит изображение яблока и одного из согласных звуков:
function initGame() {     // Инициализация переменных, хранящих     // номера первого и последнего яблока.     firstApple = 1;     lastApple = 0;     // Инициализация переменной, хранящей число пойманных яблок,     score = 0;     // Задаем общее количество яблок.     totalApples = 50;     // Скорость падения и счетчик времени между появлениями яблок.     timeSinceLastApple = 0;     appleSpeed = 5;     // Создаем экземпляр клипа, содержащий лису.     attachMovie("running fox", "fox", 999999);     fox._x = 275;     fox._y = 300; }Функция moveFox полностью совпадает с аналогичной функцией игры "Поймай яблоко", поэтому нет смысла повторять ее здесь. Функция dropNewApple будет отличаться, так как она должна выбирать, какое яблоко бросать, а затем отображать произвольный кадр выбранного клипа.
function dropNewApple() {     // Проверяем, прошел ли заданный промежуток времени,     if (timeSinceLastApple > 20) {         // Бросаем яблоко, если не превышено         // их предельно допустимое количество,         if (lastApple if(Math.random() < .1) {             // Создаем объект-яблоко.             lastApple++;             if (Math.random() < .5) {                 //В 50% случаев яблоко плохое.                 attachMovie("bad apple", "apple" + lastApple, lastApple);                 _root["apple" + lastApple].type = "bad";             }             else {                 // В 50% случаев яблоко хорошее.                 attachMovie("good apple", "apple" + lastApple, lastApple);                 _root["apple" + lastApple].type = "good";             }             f = int(Math.Random() * _root["apple" + lastApple]._totalFrames) + 1;             trace(f);             _root["apple" + lastApple].gotoAndStop(f);             _root["apple" + lastApple]._x = Math.random() * 490 + 30;             _root["apple" + lastApple]._y = 0;             // Сбрасываем счетчик времени ожидания.             timeSinceLastApple = 0;             // Увеличиваем скорость падения яблока             if (appleSpeed < 10)                 appleSpeed += .5;         }     }     // Если не бросили яблоко, приближаем это событие.     timeSinceLastApple++; }