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

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 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бесплатно (free)

Игра "Сапёр" на 1С. Три уровня.

04.04.2025    1075    83    user2015123    9    

18

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

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

20.02.2025    1567    69    starik-2005    9    

15

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

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

18.02.2025    1310    50    starik-2005    14    

19

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

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

10.01.2025    4094    103    KamranV21    4    

34

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

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

29.12.2024    786    38    miniogn    0    

6

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

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

10.10.2024    51561    PROSTO-1C    55    

173

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

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

29.07.2024    1660    98    user1693438    4    

11

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

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

24.07.2024    1685    124    user2015123    0    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
Оставьте свое сообщение