— Що там відбувається? — спитав Тимур.
Канадець не відповів.
«ЕКСПЕРИМЕНТ ЗАКІНЧЕНО». Тоді що за чортівня з тими ботами?
— Ось код процедури, скомпільованої в їхні голови перед початком тесту.
Тимур нахилився до монітора. З подивом відмітив, що інтерфейс debugger’а йому не відомий. На щастя, синтаксис нагадував С++, тому з кодом проблем не було.
int TEST_010524()
{
Targets DOLLS(System.GetTargets(gt_Front, gt_Type1));
if (!DOLLS) return 0;
int NT = DOLLS.GetTargetsNumber();
for (int i=0; iNT; i++)
{
System.MoveToObject(DOLLS[i], 1, 0, 0);
DOLLS[i].Destroy;
}
System.Macros();
Clear();
if DOLLS.AllDestroyed() return 1
else return 0;
}
Процедура була надзвичайно простою. Оголошувалася змінна DOLLS. Далі системна функція GetTargets аналізувала об’єкти попереду бота і записувала в DOLLS масив знайдених мішеней типу gt_Type1.
— gt_Type1 — це глобальна константа, що описує манекени, — розтлумачив Ральф.
Метод GetTargetsNumber визначав кількість мішеней. Потому запускався цикл, на кожному кроці якого бот рухався до мішені і ліквідовував її. Для цього використовувались функції MoveToObject та Destroy. Наостанок очищалася системна пам’ять і здійснювалася перевірка, чи всі манекени знищені. Для Тимура лишалося невідомим одне — призначення функції System.Macros.
Тимур продивлявся код, коли раптом усвідомив очевидне: ботів не програмували на знищення кулеметів. У їхній свідомості (точніше, у віртуальному баченні світу) M134 просто не існували! Боти бачили лише манекени. Попри це «малюки» знайшли «Мініґани». Більше того, боти силкувались вивести їх з ладу через дві хвилини після того, як тестові програми витерли з мозкових плат.
— А тепер подивись на візуалізацію результатів енцефалографії.
На екрані з’явилося нове вікно, розділене навпіл. Ліву частину займала 3D-модель мозку. Справа прокручувався відеозапис експерименту. Без пришвидшення. Перші двадцять секунд мозкові плати палали червоним. Працювали на повну. Решта мозку лишалася сірою. Лиш де-не-де проступали рожеві плями. Знищивши останній манекен, боти завмерли.
— В цьому місці процедура видаляється з мозкових плат, — сказав Ральф.