Я люблю играть в игры. В лихих 90-х после 4-х кнопочных девайсов с ЖК-экранчиками (а-ля, волк ловит яйца) у меня появился вот такой чудо-зверь:

Который существует до сих пор и периодически используется новым поколением.
Прогуливаясь по своим сусекам исходного кода, натолкнулся на самописное ПО - аналог тетриса на си-шарпе:

Данное произведение было написано 15 (!) лет назад. Как быстро летит время...
Ну и почему бы не сделать аналог на чистом 1С? Данная мысль меня посещала много раз, но как представлю, сколько боли доставляют пляски с интерфейсом в эске, так всякое желание делать что-то подобное отпадает. Но всё же я собрался морально, взял часть алгоритма и ресурсы из C# версии тетриса и набросал похожий рабочий игровой вариант.

Кстати, «Тетрис» (Tetris) является зарегистрированным товарным знаком и охраняется авторским правом. Поэтому истинно настоящий Тетрис только у Алексея Пажитнова. У всех остальных аналоги )
Вот так выглядит моё тетрамино:

Настройки примитивные - можем задавать скорость (от 0 до 9), сложность (от 0 до 12), направление вращения фигур (по часовой стрелке или против). Управление обычное для 1С - это стандартная комбинация клавиш WASD. И две дополнительных управляющих игрой клавиши: пробел - начало игры или пауза, клавиша 0 (не на цифровом блоке) - остановка игры.
Тут всё, как в стандартных тетрисах. За 1 аннигилированную строку получаете 100 бонусов, за 2 - 300, за 3 - 700, за 4 - 1500. При наборе каждого килодесятка очков повышается скорость. Если начать игру с НЕнулевой сложностью, то внизу стакан будет заполнен рандомом на соответствующий уровень. По завершению игры стакан очищается с эффектом прилива/отлива.
Ползунком над игровым полем можно масштабировать размеры стакана и отображаемой следующей фигуры.

Конечно, скорость в данной игре, мягко сказать, невозможно прилично настроить, т.к. в жёлтой платформе нет таймингов, а что есть - так это теоретическое смещение на 0,1 секунду, которое на практике не вытягивает (. Но всё равно получилось добротно, на максимальной скорости играть не так уж сложно, а на минимальной - немного тягомотно. Надеюсь, вы оцените.
Игра распространяется абсолютно бесплатно (халява!!!). В неё вложено несколько дней полировки. Если скачал - влепи данной публикации царский ПЛЮС, тебе всё равно, а мне приятно. Не будь тарелочником.
Хочешь сохранение/загрузку игрового процесса, либо свои фичи - добро пожаловать в комментарии!
Протестировано на платформе 8.3.27.1989, но будет работать на любой 8.3.18+. А если убрать асинхронность в одном методе, то заработает и на 8.3.6+.
* Весь код (9 сотен строк) написан на инглише.
Ну а версию игры под .NET Framework можно скачать тоже бесплатно с моего ГитХаба (в репе "freeware").
Вся наша жизнь - ИГРА (с)
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.448
Вступайте в нашу телеграмм-группу Инфостарт
