Игра "Только вперед!" + мини-библиотека для игр по сети

01.03.23

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

Правила этой игры поймет любой дошкольник, но выиграть в нее по силам не каждому взрослому...

Бесплатные

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

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Игра "Только вперед!"
.erf 30,73Kb
3 Скачать бесплатно
Конфигурация с регистром
.cf 78,33Kb
4 Скачать бесплатно

Правила игры

Поле для игры - прямоугольник. Играют два игрока фишками двух цветов. Количество фишек игрока равно ширине поля, каждая фишка игрока занимает свою вертикаль. Игровой процесс состоит из двух этапов: расстановка фишек и собственно игра. Во время расстановки, игрок размещает свои фишки на своей половине поля, не видя фишек противника. После расстановки начинается игра: каждый игрок по очереди двигает любую свою фишку вперед на произвольное количество клеток, пока не упрется в фишку противника (перепрыгивать нельзя). У кого не останется ходов, тот проиграл.

 
 Пример игры

Играть в эту игру можно и IRL на шахматной или подобной ей доске, на бумаге в клетку, на песке/снегу etc. 

 

О реализации игры

В качестве поля для игры используется табличный документ. Размеры поля настраиваются. С целью упрощения реализации, фишки представляют собой не картинки, а символы шрифта Wingdings. В случае его отсутствия в системе, в настройках можно выбрать символ любого другого подходящего шрифта. При всей простоте правил, игра достаточно сложна. В процессе игры ведется история ходов, в любой момент можно отменить ход(ы) и вернуться к предыдущему состоянию - это неоценимый помощник при игре с компьютером. Для игры с компьютером имеется три уровня сложности. Реализация AI в игре основана на методах оценки позиции, в противовес методам перебора вглубь дерева возможных ходов. Выиграть на уровне "просто" не представляет проблемы, а на уровне "эксперт" выиграть очень сложно. Интересно, кто-нибудь из сообщества найдет способ выиграть у эксперта, не заглядывая в код? Шансов сделать это немного...

Основные настройки игры:

 

 

Игра "по сети"

Применяется следующий подход: каждое изменение ситуации в процессе игры записывается отдельной записью в какое-нибудь общедоступное хранилище. Каждый экземпляр игры периодически самостоятельно опрашивает состояние хранилища, читает его записи. Что для 1С может быть таким хранилищем? Сразу в голову приходит как минимум два варианта: некий объект метаданных в базе, например регистр сведений, и общедоступный каталог с файлами. Оба варианта реализованы в игре. Каждый имеет свои плюсы и минусы. Регистр предполагает изменение конфигурации, все игроки должны работать с одной ИБ, но зато не требуется дополнительных прав и отсутствуют ограничения в распределенной среде со многими серверами. Использование файлов требует наличия общедоступного каталога с полными правами для всех рабочих серверов, но не меняет конфигурацию и позволяет играть, работая в разных ИБ. Предполагается, что одного регистра (каталога) достаточно для работы игр разного вида.

Реализация механизма оформлена в виде "мини-библиотеки" в модуле объекта, библиотека может быть использована в других играх. Функции программного интерфейса библиотеки не зависят от используемого варианта, работа с файлами или регистром скрыта уровнем ниже. Библиотека может быть расширена для других вариантов хранения записей - например, FTP.

Настройки сетевой игры:

 

 

Рассмотрим подробнее вариант с регистром. Для этого в конфигурации должен быть независимый непериодический регистр сведений такого вида:

 

 

Имя регистра значения не имеет.

Поля регистра:

  • Тип - Строка(32) - Название класса игры, в нашем случае "Только вперед!" 
  • Имя - Строка(50) - Уникальное имя текущей игры, в нашем случае - GUID
  • Номер - Число(4,0) - Уникальный номер записи, инкрементное поле
  • Статус - Строка(20) - Тип записи, описывающий статус игры, например "Подключение", "Окончание" и т.п.
  • Данные - ХранилищеЗначения - Структура с произвольными данными
  • НомерУчастника - Число(2,0) - Номер игрока (начиная с 1)
  • Дата - Дата и время - Дата записи

К статье приложена конфигурация с регистром.

Типовая схема процесса:

  • Игрок создает сетевую игру. В регистр записывается запись со статусом "Начало", в данных содержится требуемое количество игроков, имя инициатора, данные о игровом поле. Поскольку сам создатель тоже будет играть, создается запись со статусом "Подключение", в данных - имя игрока 
  • Другие игроки подключаются к созданной игре, при этом создаются записи со статусом "Подключение", в данных - имя игрока. Процесс продолжается пока количество записей со статусом "Подключение" не станет равным необходимому количеству игроков.
  • Далее каждый игрок по очереди занимается первоначальной подготовкой - расставляет фишки, по завершению создается запись "Подготовка", в данных - расположение фишек. Остальные игроки читают эту запись и загружают себе расположение его фишек.
  • Затем каждый игрок по очереди делает ход, создается запись "Ход", в данных - информация о ходе. Остальные игроки читают и загружают себе эту информацию, отображают ход противника на своем поле. 
  • Если после завершения хода игра оканчивается выигрышем, то выигравший игрок записывает запись "Окончание". 
 
 Вот так играют два компьютера по сети

Для варианта с каталогом процесс аналогичен, вместо записей регистра используются файлы. 

Игра тестировалась в тонком клиенте 8.3.22.1709, под ОС Windows 7.

Как всегда, приветствуются замечания / дополнения / комментарии.

 

 
 Другие игры
 
 Некоторые из прочих моих публикаций 

  

Вступайте в нашу телеграмм-группу Инфостарт

только вперед сетевая игра по сети библиотека

См. также

Игры 1С 8.3 Бесплатно (free)

Да, это Wolfenstein на 1С, без сторонних сервисов... Только 1С, только хардкор.

24.04.2026    4999    145    darkghostterran    31    

45

Игры 1С 8.3 Россия Бесплатно (free)

Приветствую! У меня образовалось довольно много свободного времени, и я решил посвятить его творчеству: разработке казуальной игры по шагам, демонстрируя промежуточные результаты сообществу и развивая игру по полученной обратной связи.

07.04.2026    1368    43    chuprina_as    9    

15

Игры 1С 8.3 Россия Бесплатно (free)

Мастерам, проводящим настолки по Dangeons&Dragons, в помощь.

16.03.2026    2044    48    romba    0    

10

Игры 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Аналог тетриса на жёлтой платформе.

12.03.2026    1534    83    SerVer1C    6    

19

Игры 1С 8.3 Россия Бесплатно (free)

Классическая игра Три в ряд. При образовании комбинации из 3 и более фишек они исчезают, новые фишки падают сверху, а игрок получает очки. За длинные комбинации (4-5 фишек) начисляются бонусные очки.

05.03.2026    1500    132    user2163916    4    

11

Игры 1С:Предприятие 8 Россия Бесплатно (free)

Сокобан (Sokoban) — это классическая игра-головоломка, где игроку необходимо расставить ящики по целям, перемещая их по лабиринту.

20.02.2026    978    67    user2163916    3    

12

Игры 1С 8.3 Бесплатно (free)

Это расширение, практически к любой конфигурации 1С, идеально подойдёт не для того, чтобы парализовать работу организации, а для того, чтобы сформировать коллектив, объединённый общими целями, ценностями и интересами. И всё это достигается простым регулярно проводимым мероприятием по сплочению команды – шашечным турниром! В этом, не побоюсь этого слова, приложении, можно провести шашечную битву как с коллегой, так и самому с собой, если у вас раздвоение личности. А также к вашим услугам почти искусственный интеллект, то есть бот, который честно и по правилам играет с вами в поддавки, когда по правилам вы должны играть в обычные шашки.

28.12.2025    1928    129    Knyaz3d    6    

11

Игры 1С:Предприятие 8 Россия Бесплатно (free)

Преврати свой 1С с обычными формами в мощную игровую консоль! И пусть баланс подождет!

13.10.2025    8960    167    slava_1c    14    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1954 01.03.23 18:30 Сейчас в теме
Спасибо за игру!
Рассматриваю игру только с математической стороны: добавляем вариативность = добавляем сложность. Например, добавим функции игры "танчики": у игрока есть выбор - сделать ход, сделать выстрел на один квадрат, поставить мину на два квадрата вперед (мина исчезает через следующий свой ход) и т.д.
2. Alxby 1149 01.03.23 19:06 Сейчас в теме
(1)Это будет уже другая игра). Когда-то в детстве играли в настольную игру "Сражение" с солдатами, офицерами и миной. Еще попадалась игра Colobot - там поведение объектов надо было программировать. Кстати, не всегда добавление вариативности добавляет сложности, если шахматным фигурам дать возможность ходить по любым правилам, сложность скорее всего понизится. В предлагаемой игре от увеличения высоты поля сложность сильно увеличивается, а при увеличении ширины - нет.
4. Alxby 1149 02.03.23 14:10 Сейчас в теме
(1) Нашел правила https://76-82.livejournal.com/2649059.html. Игру можно поискать в сети, купить или сделать самому.
3. quazare 4007 02.03.23 06:02 Сейчас в теме
Спасибо! Интересно!
5. пользователь 03.03.23 15:04
Сообщение было скрыто модератором.
...
6. laperuz 47 06.03.23 11:54 Сейчас в теме
О, так это по сути тренировка цугцванга для шахматистов получается:)
7. CheBurator 3234 06.03.23 23:52 Сейчас в теме
8. aSHA-1 26.03.23 09:28 Сейчас в теме
9. Alxby 1149 26.03.23 12:42 Сейчас в теме
(8)Нет. Ни для игры, ни для библиотеки.
Для отправки сообщения требуется регистрация/авторизация