Тетрис на РНР

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

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

Лично для меня код оказался интересным в плане работы с пользовательским вводом в терминале, в частности, функция readline_callback_handler_install(), которая подменяет стандартный механизм ввода. Соответственно, передав в неё пустой callback можно получить «игровой» вариант ввода, когда не требуется подтверждение через Enter. Ну и убрав блокировку потока, получаем неблокирующий ввод:

readline_callback_handler_install(», function() {}); stream_set_blocking(STDIN, false);

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

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

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии