Руководство по actionscript. часть 1, стр. 120

Public function eat (foodltem) { if (currentCalories == 0) { trace(getName( ) + » is dead. You can’t feed it.»); return;

}

var newCurrentCalories = currentCalories + foodltem. getCalories( ); if (newCurrentCalories > VirtualPet. maxCalories) {

currentCalories = Virtual Pet. maxCalories; } else {

currentCalories = newCurrentCalories;

}

trace(getName( ) + » ate some » + foodltem. getName( ) + «.»

+ » It now has » + currentCalories + » calories remaining.»);

}

Теперь попробуем покормить животное в конструкторе класса VirtualZoo. Код будет выглядеть следующим образом:

package zoo { public class VirtualZoo { private var pet;

public function VirtualZoo ( ) { pet = new Virtual Pet(«Stan»); pet. eat(new Applet )); // Дать Стэну яблоко pet. eat(new Sushi( )); // Дать Стэну суши

В настоящий момент классы Sushi и Apple очень просты, однако они формируют основу для более сложного поведения. Например, сейчас, когда в нашей программе появились виды пищи, мы можем достаточно легко создать животных, которым нравятся только яблоки или которые едят суши только после шести часов вечера. Кроме того, мы можем легко изменить поведение каждого вида пищи. В качестве примера половину всех яблок в случайном порядке сделаем червивыми, при этом животные не должны есть такие яблоки.

Для хранения информации о том, является объект Apple «червивым» или нет, мы добавим новую переменную экземпляра wormlnApple в класс Apple:

private var wormlnApple:

Чтобы выбрать случайное число в диапазоне от 0 до 0,9999…, внутри конструктора класса Apple воспользуемся функцией Math. random ( ). Если число окажется равным или больше 0,5, присвоим переменной wormlnApple значение true, указывающее на то, что данный объект Apple является «червивым». В противном случае переменной wormlnApple будет присвоено значение false, указывающее на то, что данный объект Apple не является «червивым». Вот этот код:

wormlnApple = Math. random( ) >= .5:

Чтобы другие классы имели возможность определить, является ли объект Apple «червивым», опишем новый открытый метод hasWorm ( ), который просто возвращает значение переменной wormlnApple. Рассмотрим его код:

public function hasWorm ( ) { return wormlnApple:

}

Наконец, чтобы животные не ели червивые яблоки, изменим метод eat ( ) класса VirtualPet. Вот фрагмент кода из метода eat ( ):

if (foodltem is Apple) { if (foodltem. hasWorm( )) { traceCThe » + food I tern. getName ( ) + » had a worm. » + getName( )

+ » didn’t eat it.»): return:

}

}

В предыдущем коде обратите внимание на использование оператора is, который проверяет, является ли объект экземпляром указанного класса или любого класса, унаследованного от него. Выражение foodltem is Apple возвращает значение true в том случае, когда параметр foodltem ссылается на экземпляр класса Apple (или любого класса, унаследованного от класса Apple). В противном случае возвращается false. Если параметр foodltem представляет объект класса Apple, а метод hasWorm ( ) этого объекта возвращает значение true, метод eat ( ) завершается, при этом значение переменной currentCalories не изменяется.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.35
  • 22.04.2012">Facebook добавила кнопку «Слушать» на страницы музыкантов
  • 29.02.2012">На сервисе микроблогов Futubra появился поиск
  • 17.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.5
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 028
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 098
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 030
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 097
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 116
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 023
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.146
  • 17.03.2011">Руководство по actionscript. часть 3, стр. 005
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 068
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.109
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 121
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...