Кенгуру со стингером

Дмитрий Турецкий, dmitri@listsoft.com

Повторное использование объектно-ориентированного кода (в программах) вызвало головную боль у Австралийских Вооруженных Сил. Так как симуляторы все активнее используются для тренировок боевых действий вертолетов, от программистов требуется постоянное повышение реализма используемых сценариев, включая детальные ландшафты местности и — в случае операции Феникс — стад кенгуру (так как испуганные животные могут легко выдать расположение воинских частей). Начальник отдела симуляций наземных операций Defense Science and Technology Organization приказал разработчикам смоделировать перемещения кенгуру и их реакцию на вертолеты. Будучи грамотными программистами, те использовали готовые программные объекты, описывающие поведение пехоты в аналогичной ситуации, заменив изображения солдат на изображения животных и увеличив их скорость. Желая продемонстрировать свое мастерство перед посетителями — американскими пилотами — горячие австралийские парни «разбудили» кенгуру, пройдя над ними на малой высоте во время симуляции. Кенгуру разбежались, как и предполагалось, и американцы понимающе кивнули… А затем сильно удивились, так как кенгуру, перегруппировавшись, появились из-за холма и выпустили тучу стингеров по злополучным вертолетам (программисты забыли удалить соответствующий кусок кода из «пехотных» объектов).

Урок? Объекты создаются с определенными атрибутами, и любой объект-потомок наследует эти атрибуты. Смущенные программисты научились быть более внимательными, используя готовые объекты в своих программах, а американцы уехали с невольным чувством уважения к австралийской фауне.

Начальник симулятора отметил, что пилоты с этих пор боятся кенгуру как огня, для чего, собственно, и нужен был этот кусок кода в симуляторе…