Страницы

Тетрис для HTML5

Недавно я написал простой Тетрис для игрового движка Love на языке Lua. Сегодня я решил его перенести на HTML5.

Что за стыд. Ваш так называемый браузер не поддерживает canvas, поэтому вы не можете лицезреть работающий Тетрис прямо в сообщении.




Очки : 0


Чтобы было веселей я решил использовать не чистый Javascript, а его расширение от Microsoft - Typescript. На сей раз я не использовал сторонних библиотек,  ограничившись стандартным Canvas, являющимся частью HTML5.

Типизация Typescript помогает выявить некоторые ошибки, но всё же скрывающаяся за хлипким фасадом полустатически типизированного костыля сущность Javascript даёт о себе знать, и часть ошибок оказываются успешно пропущены на этап исполнения.

По сравнению с кодом для Love код для HTML5, не считая html файла, вырос с 400 до 500 строк. Это вызвано как явно прописанными типами, так и дополнительным кодом из-за отсутствия сторонних библиотек.

Изначально тестировал в Firefox, и, запустив в Chromium, обнаружил, что клавиатура не работает, поскольку в Chromium нет свойства key у объекта keyboardEvent. Замена вызова key на keyCode спасла ситуацию, хотя это, конечно, симптоматично. 

Код: https://github.com/ComdivByZero/tetris
Запуск: открыть index.html в браузере с поддержкой HTML5

Обновление: после запуска на планшете, где клавиатуры разумеется нет, добавил в html файл кнопок. Стало возможно играть, но удобным это назвать сложно.

Комментариев нет:

Отправить комментарий