Current time: 26.11.2024, 20:52 Hello There, Guest! (LoginRegister)
Language: english | russian  

Thread Closed 
Threaded Mode | Linear Mode
Раен (материалы)
Author Message
Berserker Offline
Administrators

Posts: 16657
Post: #2

Код программы УР-51 на главном компьютере роботостроительного завода Зоны №13:
Code:
Программа УР-51
Использует(БоевойИИ)

Функция ОпределитьЦель
Переменная ЦелевойОбъект, Цель, ЦентрМозг
    Цель := БоевойИИ.НоваяЦель
    ЦентрМозг := БоевойИИ.КоллективныйРазум.Новый
    ЦентрМозг.Частота:="41Мгц"
    ЦентрМозг.Идентификатор:=Объект.Идентификатор
    ЦентрМозг.Соединиться
    Если
        (ЦентрМозг.Соединение = УСПЕХ) И
        (ЦентрМозг.КолВоЗаданий > 0)
    То
        Цель := ЦентрМозг.БлижайшееЗадание
    Иначе
        ЦелевойОбъект := БоевойИИ.Поиск(БоевойИИ.КЛАСС_ЧЕЛОВЕК, БоевойИИ.СОСТОЯНИЕ_ЖИВОЙ, Радиус:="1км")
        Если ЦелевойОбъект <> НИЧЕГО То
            Цель.Объект := ЦелевойОбъект
            Цель.Действие := БоевойИИ.ДЕЙСТВИЕ_УНИЧТОЖЕНИЕ
        Иначе
            Если Объект.Оружие.Сила < БоевойИИ.ОРУЖИЕ_СРЕДНЕЕ То
                Цель.Объект := БоевойИИ.ОРУЖИЕ_СРЕДНЕЕ
                Цель.Действие := БоевойИИ.ПОИСК_И_ВООРУЖЕНИЕ
            Иначе
                Если ЦентрМозг.Соединение = УСПЕХ То
                    Цель:=БоевойИИ.Патрулирование.Новый(ЦентрМозг.НайтиКвадратПатрулирования)
                Иначе
                    Цель:=БоевойИИ.Патрулирование.Новый(БоевойИИ.СлучайныйКвадратПатрулирования)
                КонецЕсли
            КонецЕсли
        КонецЕсли
    КонецЕсли
    Результат := Цель
КонецФункции

Событие Инициализация
    Объект.ИИ := БоевойИИ.Новый
    Объект.ИИ.Локация := БоевойИИ.ТЕРРИТОРИЯ_ПРОТИВНИКА
    Объект.ИИ.УровеньАгрессии := БоевойИИ.АГРЕССИЯ_МАКСИМАЛЬНАЯ
    Объект.ИИ.ОпределитьЦель := ОпределитьЦель
    Объект.ИИ.Запуск
КонецСобытия

Событие ГолосоваяКоманда
Переменная ТекстКоманды;
    ТекстКоманды := ЗвукВТекст(Команда)
    ХэшКоманды := ХэшГлавиус77_1024 (ТекстКоманды);
    Если ХэшКоманды = Объект.СистемныйХэш То
        Объект.ИИ.Командир := БоевойИИ.Командир.Новый
        Объект.ИИ.Командир.Тип := БоевойИИ.КЛАСС_ЧЕЛОВЕК
        Объект.ИИ.Командир.Идентификатор := БоевойИИ.СгенерироватьИдентификатор (Событие.Источник)
        Объект.ИИ.ПерезагрузитьЦели
    КонецЕсли
КонецСобытия

Голосовая команда остановки роботов: "Эктари-Виса". Виса - кличка администратора завода, которого хотели уволить. Эктари - кодовое название модели Универсального Робота - 51. Виса прописал его в программе не явно, а пропустив через одностороннюю функцию хэширования Главиуса 77-й версии длиной 1 кб. Перебор всевозможных голосовых команд может занять десятилетия, так как функция крайне криптостойка. Единственное, что можно воспользовать мейнфреймовым компьютером крупного центра, вроде Муниципалитета. Тогда перебор займёт несколько часов.

Дополнительные ключи к пониманию дела содержатся в том же компе на РобоЗаве. В частности, список сотрудников, в том числе и помеченных на увольнение, как и досье. Из досье можно выудить кличку Вистора (Виса), а из описания УР-51 - кодовое название модели. установка критериев перебора значительно ускоряет его.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
16.03.2010 16:03
Find all posts by this user
« Next Oldest | Next Newest »
Thread Closed 


Messages In This Thread
Раен (материалы) - Berserker - 15.03.2010, 23:42
RE: Ярус 0 - Berserker - 16.03.2010 16:03
RE: Ярус 0 - Berserker - 17.03.2010, 21:19
RE: Ярус 0 - Berserker - 18.03.2010, 14:07
RE: Ярус 0 - Berserker - 18.03.2010, 20:54

Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group