# tetris.js **Repository Path**: yaohaixiao/tetris.js ## Basic Information - **Project Name**: tetris.js - **Description**: tetris.js 是一款零依赖的原生 JavaScript 俄罗斯方块游戏,基于 Canvas 实现,支持多端输入与 AI 控制。项目采用固定帧流程驱动架构,结合 Scheduler、Command Queue 与 Replay 系统,实现清晰的游戏更新管线,是一个轻量级前端游戏引擎设计与架构实践示例。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: https://yaohaixiao.github.io/tetris.js/dist/tetris.html - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: JavaScript, Canvas, gamepad, AI, tetris ## README # tetris.js [](https://www.npmjs.com/package/@yaohaixiao/tetris.js) [](https://prettier.io) [](https://npmcharts.com/compare/@yaohaixiao/tetris.js?minimal=true) [](https://github.com/yaohaixiao/tetris.js/blob/main/LICENSE) 简体中文 | [English](./README.EN.md)  tetris.js 是一款零依赖的原生 JavaScript 俄罗斯方块游戏,基于 Canvas 实现,支持多端输入与 AI 控制。项目采用固定帧流程驱动架构,结合 Scheduler、Command Queue 与 Replay 系统,实现清晰的游戏更新管线,是一个轻量级前端游戏引擎设计与架构实践示例。 ## 功能特性  游戏完整实现了经典俄罗斯方块的核心功能,包含方块生成、移动、旋转、下落、碰撞检测、消行、升级、分数统计等能力,同时搭配丰富的界面渲染、动画特效与交互反馈。 ### 游戏操控 - **电脑键盘**:方向键控制移动与旋转,空格键一键落底,P 键暂停,M 键切换背景音乐,R 键重新开始,Q 键退出游戏,S 键切换 AI 模式; - **游戏手柄**:全面适配,支持左摇杆与十字方向键操作; - **移动端触控**:复刻 GameBoy 风格虚拟按键,完整支持触屏操作;