категории | RSS

Тетрис на РНР

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

Получилось неплохо, хотя на по-настоящему терминальную игру не тянет - по SSH на достаточно удалённом сервере ожидаемо мерцает.

Лично для меня код оказался интересным в плане работы с пользовательским вводом в терминале, в частности, функция readline_callback_handler_install(), которая подменяет стандартный механизм ввода. Соответственно, передав в неё пустой callback можно получить "игровой" вариант ввода, когда не требуется подтверждение через Enter. Ну и убрав блокировку потока, получаем неблокирующий ввод:readline_callback_handler_install('', function() {}); stream_set_blocking(STDIN, false);

Теперь обращения к fgetc() будут сразу возвращать введённый символ, если он был, а скрипт продолжит выполнение.



Источник новости: habr.com

DimonVideo
2025-08-15T14:50:02Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика