Проект "Антистресс" на 1С: Тетрис в стиле "Матрицы"

06.04.26

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

Зелёный тетрис с затуханием фигур. SRS-повороты, T-spin (без бонуса), 30 FPS через JS-костыль. Играйте по памяти и изгоняйте стресс на работе.

Бесплатные

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

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

Наименование Скачано Бесплатно
Проект "Антистресс" на 1С: Тетрис в стиле "Матрицы"
.epf 21,76Kb
7 Скачать бесплатно

От нечего делать, с целью развлечения и избавления от стресса, я открываю проект "Антистресс" от 1С.

Я решил написать игру - очередной "Тетрис". Но это слишком просто, нет вызова. Поэтому я решил поэкспериментировать.

Во-первых, я вспомнил фильм "Матрица", эффект с цифровым зеленым дождем в заставке, и решил сделать визуал в таком же стиле. Пусть тетрамины падают в виде зеленых блоков с буквами и оставляют затухающий след.

Во-вторых, в процессе пришла идея: пусть упавшие в кучу фигуры тоже затухают. Чтобы усложнить игру, когда тетрамин падает, не видно, куда его направлять. Вся куча подсвечивается только в момент приземления и постепенно гаснет. До следующего приземления фигуры приходится запоминать положение блоков.

Геймплей: https://rutube.ru/video/8cb7ef66a237ede6f4d51cd60c3a7f72/

Единственная существенная трудность, с которой я столкнулся: 1С не позволяет интерактивно взаимодействовать с формой, пока выполняется код этой самой формы. Штатное средство (насколько я понимаю, если не изобретаю велосипед) только одно - подключение обработчиков ожидания. В принципе, вариант неплохой, но есть нюанс: повторяемый обработчик вызывается с шагом, кратным целой секунде. Это очень много, ни о какой комфортной игре речи нет. Неповторяемый можно вызвать через 0,1 секунды, то есть FPS будет равен 10. Тоже очень плохо.

Мало того, платформа не гарантирует вызов даже за это время. Мои тесты показали, что в лучшем случае вызов происходит через 0,2 секунды. И никакие "танцы с бубном" вроде дублирования вызовов не помогают. Тупик? Нет, есть "костыль".

Можно создать поле HTML на форме и разместить в нем JavaScript, который по своему таймеру будет нажимать невидимую кнопку в самом же поле HTML. Это нажатие перехватывается платформой. Так тоже не достичь запредельного FPS, но 30 вызовов в секунду вполне работают. С этим уже можно жить.

Теперь нужно четко отработать тайм-менеджмент.  Даже тайм-микро-менеджмент )) Отслеживать, вовремя ли произошел вызов и не слишком ли много времени затрачено на вывод картинки. Возможно, стоит не рисовать текущий кадр, а сразу переходить к следующему - пусть лучше один кадр выпадет, чем возникнут неприятные лаги. Интерпретатор 1С не слишком шустрый, так что времени на отрисовку не так много. Можно было бы часть логики запрятать в JavaScript? Можно, но зачем? )) Зачем тогда 1С? В JS я оставил только таймер, а всю игровую логику организовал на стороне 1С.

Также выяснилось, что существуют официальные правила и стандарты "Тетриса", которым я постарался следовать, хоть мой порт и неофициальный. Там есть хитрая система "супервращения" (SRS). Это когда фигура "отскакивает" от стенки при повороте или ее можно "ввернуть" в определенное место поля, куда она не смогла бы попасть естественным путем. Это называется T-spin.

Все это я попытался реализовать. Единственное - за T-spin обычно начисляются особые бонусные очки, но с этим я уже не стал заморачиваться. Выполнить такой прием можно, но дополнительных очков я за него не дам ))

Предлагается обработка с игрой. Код открыт, конструктивная  любая критика приветствуется.

Обработка подготовлена для загрузки в конфигурацию на основе БСП во внешние обработки. Выполняется в безопасном режиме. Подключайте ее в свои рабочие базы и изгоняйте стресс на работе )) (На свой страх и риск! Сначала проверьте код!) Так же ее можно открывать через файл в любой конфигурации, не на основе БСП, хоть в пустой.

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.461

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

Обработка Игра Тетрис Матрица

См. также

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

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

16.03.2026    1719    38    romba    0    

10

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

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

12.03.2026    1242    69    SerVer1C    5    

20

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

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

05.03.2026    1232    120    user2163916    4    

11

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

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

20.02.2026    777    60    user2163916    3    

12

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

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

28.12.2025    1685    114    Knyaz3d    6    

11

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

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

13.10.2025    8443    165    slava_1c    14    

44

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

Внешняя обработка, реализующая классическую игру "Крестики-нолики". Особенностью обработки является реализация противника, способного блокировать ходы пользователя и пытаться выиграть.

02.10.2025    1820    76    user2163916    2    

8

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

Моя реализация игры "Сапер" на 1С.

15.04.2025    2926    173    Caliban    5    

17
Для отправки сообщения требуется регистрация/авторизация