tetris-on-pascal
Собственная реализация тетриса на паскале как pet-проект.
- Active · last change 9-17-2026
- ★ 1 on GitHub
README
Всем случайным прохожим, решившим зайти в этот репозиторий.
Этот репозиторий есть ничто иное, как пет-проект, делающийся для развития навыков структурного программирования и конструирования программ. Новые фукнции всё также буду добавляться, пока проект не будет считаться законченным (по моему решению).
Тетрис в терминале
Это реализация Тетриса внутри эмулятора терминала Линукс. Проект находится на стадии бета релиза, поэтому здесь реализованы многие функции Тетриса, но далеко не все. Вот те из них, которые уже есть:
- Основные взаимодействия вроде падения и перемещения фигур;
- Поворот фигур;
- Очищение линий;
- Hold (карман фигур);
- Hard Drop (жёсткое падение);
- Псевдо меню паузы;
- Ghost piece (призрачная фигура/место куда упадёт фигура);
- Уровни и ускорение фигур;
- Показ следующих 4 фигур.
Эти функции запланированы и будут реализованы в следующих версиях:
- Система очков (будет реализовано до версии 1.0);
- Экран Game Over с показом результатов игры (будет реализовано до версии 1.0);
- Wall kick (отскок от стены) (будет реализовано до версии 1.0);
- Полноценное меню паузы (будет реализовано до 1.0);
- Таблица рекордов;
- Русский язык;
- Кастомная настройка параметров игры;
- Работа с файлами (сохранения, записи таблицы рекордов, конфигурации игры);
- Новые режимы игры (например, появление мусора);
- Цветные блоки и др.
Тетрис написан с использованием модуля Crt, позволяющий печатать символы и строки в любом месте терминала. Изначально этот проект развивается в окружении Линукса, поэтому рекомендуется играть именно на нём. Рекомендуется играть с размерами терминала 80 на 24 знакоместа.
А что с Windows?
Модуль Crt изначально предназначался для написания маленьких консольных утилит под MS-DOS. Сейчас же MS-DOS нигде не используется, и на его место встал терминал Линукс. Терминал в Линуксе поддерживает Ansi-esacpe последовательности, благодаря которым работал модуль Crt и консольные утилиты MS-DOS. Microsoft же полностью отказалась от архитектуры MS-DOS, и все действия эмулируются (транслируются) для обратной совместимости. Из-за этого, скорость работы приложения сильно ниже*, чем в эмуляторе терминала Линукс. Поэтому проект изначально разрабатывается под окружением Линукс. Версии для Виндоус есть, однако они компилируются только ради Виндоус. Все основные проблемы будут решаться на Линуксе.
Помощь/Для всех желающих помочь
Я не принимаю pull реквесты, я не хочу, чтобы в мой проект попадал чужой код. Если по какой-то причине вам захотелось что-то изменить в коде - делайте форк. Там уже вы можете работать, это будет уже ваш репозиторий. Однако я принимаю Issues. Там можно сообщить о найденном баге при игре в Тетрис и шаги для его воспроизведения. Баги и проблемы будут исправлены (если могут быть исправлены) в следующих версиях.
* За некоторыми исключениями. В недавних версиях Windows Microsoft добавила свой аналог эмулятора терминала - Windows Terminal. У меня не было возможности достаточного тестирования этой версии, поэтому игра там может работать лучше.

