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


Создание кода - часть 5


function moveBunny() {

// Проверяем, пришло ли время для следующего шага кролика,

if (getTimert) > bunny.nextmove) {

// Определенное время кролик двигаться не может,

bunny.nextmove = getTimerO + 60 - gameLevel*10;

// Перемещаем кролика.

bunny._x += bunny.move.x*5;

bunny._y += bunny.move.у*5;

// Выясняем, дошел ли кролик до положения цели,

if (bunny._x == bunny.dest.x and bunny._y == bunny .dest .y) {

// Создаем массив с координатами

// возможных положений кролика,

possibilities = new Array;

for (i=0; i

// Определяем расстояние между

// текущим положением кролика и ягодой,

xdiff = Math.abs(berries[i]._x - bunny._x);

ydiff = Math.abs(berries[i]._y - bunny._y);

// Если эта ягода находится рядом...

if ((xdiff == 25 and ydiff == 0) or (xdiff == 0 and ydiff == 25) {

// ...тогда ее положение может

// быть положением цели кролика.

possibilities.push(berries[i]);
}} // Среди возможных положений цели выбираем

// произвольное,

do {

r = int(Math.random()*possibilities.length);

// Указываем новое положение цели

//и направление движения.

bunny.dest.x = possibilities[r]._х;

bunny.dest.y = possibilities[r]._y;

bunny.move.х = (possibilities[r]_x - bunny._х)/25;

bunny.move.у = (possibilities[r]._y - bunny._у)/25;

// Принимаем выбранные положения, если кролик

// не возвращается назад или если этот

// путь - единственно возможный.

} while ((bunny.dest.х = lastx and bunny.dest.y == lasty) and (possibilities.length > 1));

// Запоминаем координаты предыдущего положения,

lastx = bunny._x; lasty = bunny._y;
}}

// Проверяем, находится ли кролик поблизости с лисой,
if (Math.abs(bunny._x - fox._x)

} else {

lives--;

gotoAndStop("lost life");
}}}




Начало  Назад  Вперед



Книжный магазин