Виртуальная битва

29.07.19

Задачи пользователя - Игры

Если у Вас есть желание попрактиковаться в создании AI и проверить его в действии, представляем "движок" для проведения виртуальных битв!

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
База с движком и тестовым ботом
.dt 153,45Kb
32
32 Скачать (1 SM) Купить за 1 850 руб.

demo

 

Хотите написать своего бота и устроить битву?

Хотите отдохнуть, расслабиться и завалить рабочий день отдела? :)

Вы зашли по адресу!

 

Идея не нова, но реализацию на 1С не видел. Почему ЭТО на 1С? Да просто так! На крайний случай поставьте ЭТО в школе/универе и школоло абитуриенты сами побегут учить матчасть :)

Говорим мы здесь о реализации некой пошаговой битвы, в которой действием на поле управляем "МОЗГ" написанны Вами. Суть в следующем:

  • в игре могут участвовать несколько ботов;
  • имеется поле определенной размерности, на котором действуют юниты игроков (описаны ниже);
  • юнит БАЗА - с определенной периодичностью и последовательностю создают юнитов (этим процессом управляет движок) следующих типов:
  • юнит [З] - назовем его земледельцем! этот юнит захватывает территорию просто перемещаясь по полю; может драться с любыми другими юнитами, но слабоват здоровьем;
  • юнит [Л] - назовем его легионером! этот юнит - боец; вся суть его сводиться к "seek and destroy" (метла forever :)); чисто технически легионеры накапливают опыт, тем самым повышая наносимый урон;
  • каждый юнит обладает определенным набором невосполнимого здоровья: самая "здоровая" - база, потом легионер и, наконец, земледелец;
  • Любая битва между двумя юнитами приводит к следующему:
    • если по здоровью юниты равны, побеждает нападающий, если нет, то тот кто "здоровее";
    • каждый юнит, вне зависимости от исхода боя, наносит оппоненту урон, в связи с чем в итоге погибнуть могут оба;
  • выполняя очередной ход, движок передает обработке-боту информацию, на основании которой тот определяет дальнейшее действие юнита;
  • в качестве информации обработке-боту передается структура, описывающая текущего юнита, а так же массив состояний окружающих его 8 ячеек поля (индексация ячеек начинается с левого верхнего угла по часовой стрелке);
  • обработка-бот принимает решение и возвращает структуру, описывающую действие для текущего юнита (переместиться или ничего не делать) и направление перемещения (индекс массива окружающих ячеек);
  • хранить какие-либо данные в объекте обработка-бот не может, но она знает свой UID (уникальный идентификатор на текущий бой), что можно использовать для хранения данных во временном хранилище;
  • игра идет до полного уничтожения юнитов соперников;

Во вложении демо-база с движком и загруженным шаблонным ботом (именно он усредно трудится на демке публикации), который так же можно найти в ветке обработок конфигурации под именем "ШаблонБота".

Как создать СВОЕГО бота:

  • заходим в конфигурацию и сохраняем во внешний файл обработку "ШаблонБота";
  • в модуле объекта внешнего файла обработки пишем логику бота (там же есть небольшое описание принимаемых и возвращаемых ботом значений);
  • модуль объекта содержит готовый каркас для написания своего бота и некий интерфейс для взаимодействия обработки с движком; ломать каркас, понятное дело, нельзя :)
  • разработку бота ведем в конфигураторе этой же демо-базы, т.к. в логике используются "прикладные объекты";
  • не забываем назвать своего бота крутым именем (переменная мИмя модуля шаблона бота);
  • когда логика готова, запускаем демо-базу в режиме предприятия и загружаем файл обработки в справочник "Боты";
  • в обработке "Управление битвой" выбираем {своих/чужих/одних и тех же} ботов и вперед!

Имеем ввиду, что чем больше ботов участвуют в битве, тем тормознутее ведет себя движок при повышении количества юнитов на поле, поэтому можно использовать "регулятор скорости" в обработке "Управление битвой", чтобы уменьшить частоту визуализаций поля битвы, тем самым ускоряя процесс просчета шагов.

битва искусственный интеллект AI ИИ игра игры

См. также

Игры Платформа 1С v8.3 Бесплатно (free)

Игра Змейка на объектах форм, а ля ООП, или что можно сотворить за час )))

20.02.2025    1305    54    starik-2005    8    

15

Игры Платформа 1С v8.3 Бесплатно (free)

Когда охота "настоящего" ООП, но не знаешь, как его взять в 1С. Массив форм в форме нам поможет )))

18.02.2025    1158    38    starik-2005    14    

19

Игры Платформа 1С v8.3 Бесплатно (free)

Знакомы с серией игр Football Manager? Вся суть подобных симуляторов состоит в том, чтобы путем грамотного управления и контроля за спортивным, инфраструктурным и финансовым учетом привести свой футбольный клуб к успехам. Это ли не задача для платформы 1С - помочь в контроле учета предприятия (читай футбольного клуба)?

10.01.2025    3830    93    KamranV21    4    

32

Игры Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Бесплатно (free)

Вариация классической игры Линес в честь года змеи 2025 на шестиугольном поле, с препятствиями, для сборки змейки из 7 шаров.

29.12.2024    665    36    miniogn    0    

6

Игры Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Я Федор, ведущий разработчик 1С. На хакатоне компании команда под моим руководством перенесла игру «Герои меча и магии III» на платформу 1С. Расскажу, как устроена конфигурация «1С: Герои меча и магии» с технической точки зрения.

10.10.2024    50772    PROSTO-1C    55    

168

Игры Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Классическая игра Морской бой, с необычным дизайном. Из особенностей: Поле игрока формируется автоматически, но есть возможность корректировать расстановку фигур. Пример игры в приложенном видео.

29.07.2024    1495    88    user1693438    3    

9

Игры Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

Простейшие крестики-нолики с маленьким полем.

24.07.2024    1508    108    user2015123    0    

7

Игры Платформа 1С v8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 Бесплатно (free)

Классическая игра пасьянс Паук, на платформе 1С.

15.04.2024    2104    101    user1693438    3    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. xten 49 03.06.14 16:08 Сейчас в теме
Очень красиво! Тут нечеткая логика как-то используется?
12. Lars Ulrich 625 16.06.14 18:17 Сейчас в теме
(1) в шаблонном боте логика самая простая, никаких наворотов.

(4) Душелов делал скринсейвер с имитацией бурной кодопечатной деятельности.

(6) без проблем выложу :) скажите только что именно интересует (или почту в ЛС).

(10) расширяем границы таксскать :)

(11) похоже проблема с динамически-создаваемым объектом внешней обработки... либо обработка отсутствует в хранилище вообще, либо нарушена структура модуля объекта. если используете шаблонного бота, попробуйте еще раз загрузить внешнюю обработку бота: сохраните из конфигуратора обработку "ШаблонБота" во внешний файл, а затем загрузите этот файл в справочник "Боты" в режиме предприятия (в новую или в существующую запись), и попробуйте выбрать эту обновленную запись в режиме боя. если используете свою обработку, убедитесь, что в модуле объекта функция СделатьХод экспортная.
2. vano-ekt 124 04.06.14 09:43 Сейчас в теме
"заказать внедрение", что ли...
не, работать надо :)
DrAku1a; AllexSoft; KreditNIK; SinglCOOLer; romign; DoctorRoza; 1cWin; Aspire1C; +8 Ответить
3. brr 184 04.06.14 09:54 Сейчас в теме
Это просто супер. Осталось замутить 1с:Роботы на манер С-robots
4. burlakov 83 04.06.14 13:13 Сейчас в теме
надо еще кодогенератор таким же образом для руководства сделать. отмазка от работы будет просто шикарная. коммерческий успех обеспечен ;)
5. DAnry 9 05.06.14 00:19 Сейчас в теме
Капец! Если теперь кто-нибуть мне скажет, что 1с это всего лишь система учета, я его ...
6. amon_ra 63 05.06.14 09:29 Сейчас в теме
вот бы еще хоть кусочек кода был бы выложен...
7. kuntashov 463 05.06.14 12:26 Сейчас в теме
Вообще был уже был даже конкурс однажды, и даже еще на 7.7 :)
Кажется NS или кто-то из других старожилов Т1С делал.
8. slavikss 05.06.14 17:11 Сейчас в теме
NS вроде шахматы даже делал на 7.7. :)
9. DoctorRoza 06.06.14 08:14 Сейчас в теме
10. webester 26 10.06.14 15:46 Сейчас в теме
то сайт, то битва, скучно человеку заниматься учетными системами )
DrAku1a; Nuobu; AllexSoft; +3 Ответить
11. RainyAugust22 265 16.06.14 15:29 Сейчас в теме
Как запустить, при старте ошибка:
1С:Предприятие 8.3 (8.3.4.465)
{Обработка.УправлениеБоем.Форма.Форма.Форма(337)}: Значение не является значением объектного типа (СделатьХод)
ХодЮнита = ОбъектОбработки.СделатьХод(ИсходнаяСтруктураСостоянийСоседнихЯчеек.ФиксированныйМассивСостоянийСоседнихЯчеек, Юнит);
13. AlexanderKai 17.07.14 09:41 Сейчас в теме
Когда чемпионат будет? :)
14. Lars Ulrich 625 17.07.14 10:21 Сейчас в теме
(13) да вот ждали окончания ЧМ в Бразилии, чтоб не создавать им конкуренцию непреодолимой силы :)
15. Tiger86 17.07.14 10:45 Сейчас в теме
обязательно надо посмотреть, но наверное я не смогу достояную конкуренцию составить в виду отсутсвия достаточного количества времени на это )))
16. Oleg_nsk 280 23.07.14 08:58 Сейчас в теме
если 1с добавят в платформу модуль рисования, то количество любителей позаниматься хренью увеличится в разы... поэтому наверное и не добавляют...
17. Tiger86 23.07.14 08:59 Сейчас в теме
(16) Oleg_nsk, порой важно переключить внимание чтоб свежие идеи по поводу решения насущных проблем рождались )))
18. Sirus Virus 111 20.01.15 10:54 Сейчас в теме
Вспоминается пословица про кота и яйца :) уж извините.
19. mort64ram 24 12.08.16 11:01 Сейчас в теме
20. Lars Ulrich 625 16.08.16 10:36 Сейчас в теме
(19) mort64ram, да осталось совсем немного... в поисках организаторов, спонсоров и участников.. видите какой ажиотаж :)
21. mort64ram 24 22.08.16 07:02 Сейчас в теме
Оставьте свое сообщение