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

29.07.19

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

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

Скачать файлы

Наименование Файл Версия Размер
База с движком и тестовым ботом
.dt 153,45Kb
32
.dt 153,45Kb 32 Скачать

demo

 

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

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

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

 

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

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

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

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

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

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

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

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

См. также

Классическая игра "Змейка" на 1С (управляемые формы)

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

Игра "Змейка" в классическом варианте на управляемых формах в 1С. Собирайте яблоки и ставьте рекорд!

09.02.2024    2687    140    emilyabochkova    12    

22

Ключворды в 1С

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Создавайте новые ключворды или разгадывайте существующие.

1 стартмани

05.02.2024    1541    1    alexpvs    0    

6

Игра "5 букв"

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Игра "5 Букв", сделанная на 1С. В игре загадано слово, существительное в единственном числе. Нужно отгадать загаданное слово.

1 стартмани

29.12.2023    936    2    APTEM_SLV    9    

6

Пятнашки

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

Цель - обучение хитростям нашей всеми любимой 1С.

28.11.2023    848    31    user1834118    0    

6

Кар магедон

Игры Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Держись, российский геймдев, я уже еду. Бета тест, можно оформлять предзаказы, будет донатный магазин с модельками российского автопрома (по цене реальных авто).

01.11.2023    1677    38    user1834118    7    

11

Турнир по 1С. Танки на СКД

Игры Платформа 1С v8.3 Абонемент ($m)

Предлагаю свою версию турнира. Особенность этого турнира в том, что тут нет правильных или неправильных решений. Есть твое решение и решение твоих соперников. У кого решение лучше тот и победит.

1 стартмани

09.10.2023    1762    1    opx    1    

13

Плоский "Кубик Рубика"

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Вы можете собрать кубик Рубика? Я - только с помощью инструкции:). Попробуйте справиться с его плоским аналогом.

1 стартмани

29.05.2023    2016    7    Alxby    3    

13

Пасьянс Марии Стюарт (пасьянс Медичи) - попробуй изменить свою судьбу

Игры Платформа 1С v8.3 Россия Абонемент ($m)

Игра - пасьянс Марии Стюарт. Есть возможность создавать свои расклады, обмениваться раскладами и менять картинки карт.

1 стартмани

05.05.2023    2718    1    sandr13    0    

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

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

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

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

(11) похоже проблема с динамически-создаваемым объектом внешней обработки... либо обработка отсутствует в хранилище вообще, либо нарушена структура модуля объекта. если используете шаблонного бота, попробуйте еще раз загрузить внешнюю обработку бота: сохраните из конфигуратора обработку "ШаблонБота" во внешний файл, а затем загрузите этот файл в справочник "Боты" в режиме предприятия (в новую или в существующую запись), и попробуйте выбрать эту обновленную запись в режиме боя. если используете свою обработку, убедитесь, что в модуле объекта функция СделатьХод экспортная.
2. vano-ekt 123 04.06.14 09:43 Сейчас в теме
"заказать внедрение", что ли...
не, работать надо :)
DrAku1a; AllexSoft; KreditNIK; SinglCOOLer; romign; DoctorRoza; 1cWin; Aspire1C; +8 Ответить
3. brr 182 04.06.14 09:54 Сейчас в теме
Это просто супер. Осталось замутить 1с:Роботы на манер С-robots
4. burlakov 79 04.06.14 13:13 Сейчас в теме
надо еще кодогенератор таким же образом для руководства сделать. отмазка от работы будет просто шикарная. коммерческий успех обеспечен ;)
5. DAnry 8 05.06.14 00:19 Сейчас в теме
Капец! Если теперь кто-нибуть мне скажет, что 1с это всего лишь система учета, я его ...
6. amon_ra 54 05.06.14 09:29 Сейчас в теме
вот бы еще хоть кусочек кода был бы выложен...
7. kuntashov 449 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 614 17.07.14 10:21 Сейчас в теме
(13) да вот ждали окончания ЧМ в Бразилии, чтоб не создавать им конкуренцию непреодолимой силы :)
15. Tiger86 17.07.14 10:45 Сейчас в теме
обязательно надо посмотреть, но наверное я не смогу достояную конкуренцию составить в виду отсутсвия достаточного количества времени на это )))
16. Oleg_nsk 277 23.07.14 08:58 Сейчас в теме
если 1с добавят в платформу модуль рисования, то количество любителей позаниматься хренью увеличится в разы... поэтому наверное и не добавляют...
17. Tiger86 23.07.14 08:59 Сейчас в теме
(16) Oleg_nsk, порой важно переключить внимание чтоб свежие идеи по поводу решения насущных проблем рождались )))
18. Sirus Virus 109 20.01.15 10:54 Сейчас в теме
Вспоминается пословица про кота и яйца :) уж извините.
19. mort64ram 24 12.08.16 11:01 Сейчас в теме
20. Lars Ulrich 614 16.08.16 10:36 Сейчас в теме
(19) mort64ram, да осталось совсем немного... в поисках организаторов, спонсоров и участников.. видите какой ажиотаж :)
21. mort64ram 24 22.08.16 07:02 Сейчас в теме
Оставьте свое сообщение