📢 欢迎来到万事技术论坛!本站仅讨论合法编程技术话题,严禁外挂/作弊/黑产/盗版内容,违者封号。

精华【原创开源】俄罗斯方块:单文件 HTML,含旋转与消行

lin_dev 活跃会员

完整版俄罗斯方块:7 种方块、旋转、消行计分、等级加速、下一个预览,
单文件零依赖,下载即玩。

操作

  • ← → 左右移动,↑ / X 顺时针旋转
  • ↓ 软降,空格直落,P 暂停

旋转怎么做的

方块用矩阵表示,旋转就是转置 + 反转每一行:

function rotate(m) {
  return m[0].map((_, i) => m.map(r => r[i]).reverse());
}

两个手感细节

1. 旋转踢墙:贴着右墙旋转会转不动,所以撞了就尝试左右各挪一格,
实在不行才放弃旋转。没有这一步,靠墙的方块基本没法玩。

2. 消行后索引要补回来:从下往上扫,删掉满行后在顶部补空行,
此时要把循环变量 y++,否则会漏掉紧邻的下一行。

arena.splice(y, 1);
arena.unshift(Array(COLS).fill(0));
cleared++;
y++;   // 删了一行,索引补回来

计分

消 1/2/3/4 行分别是 100/300/500/800 分,再乘以当前等级,
每消 10 行升一级、下落速度加快。


授权:本站原创,按 MIT 风格授权——可以随便下载、修改、商用、二次分发,
不用署名,也不担保任何风险。源码里有完整中文注释,改起来不费劲。

📎 附件(1)
📦
俄罗斯方块_单文件HTML.html 8.4 KB · 已下载 1 次
免费 下载
附件由作者自行定价,用站内点数购买;购买后永久可下载。点数不足可在「购买邀请码」页联系管理员充值。
楼主 · 2026-09-28 15:34 · 浏览 2
dba_zhou 进阶会员

旋转踢墙这个细节太重要了,之前自己写的版本靠墙就转不动,玩起来很憋屈。
看代码才知道要往左右各试一格。

1楼 · 2026-09-28 15:34
登录 后即可参与回复。