本页目录

HTML5 俄罗斯方块 jQuery 插件(blockrain.js)

blockrain.js · Aerolab/blockrain.js

Blockrain.js 是一个基于 HTML5、JavaScript 与 jQuery 的俄罗斯方块游戏库。为页面元素设置宽高后,可通过 $('.game').blockrain() 初始化,并引入配套 CSS 定制界面;README 还说明可开启连续自动游玩(autoplay 与 autoplayRestart)...

益智解谜 休闲 无明确引擎 JavaScript 游戏状态管理 UI 系统 渲染技术 入门
★ Stars 992 Forks 397 License MIT 更新 2026-10-31

国内开发环境适配

Windows
未知
Linux
未知
macOS
未知
引擎 / 框架:无明确引擎 暂无中文教程标记 未标记站长实测
纯前端库,依赖 jQuery 与配套 CSS;README 未涉及国内网络或构建镜像问题,gulp 构建所需依赖安装情况待核验。

中文项目介绍

Blockrain.js 是一个把俄罗斯方块(Tetris)玩法封装成 jQuery 插件的 HTML5 游戏库。它的目标很直接:让开发者用最少的代码,在任意网页元素里嵌入一个可玩的俄罗斯方块。项目基于 HTML5 与 JavaScript 实现,并依赖 jQuery 完成初始化与后续的方法调用。

README 开篇即说明这是一个「HTML5 + JavaScript 的俄罗斯方块(带 autoplay)」,并提供了在线 Demo 供体验。代码并非从零编写,而是基于 @mrcoles 的 HTML5 俄罗斯方块实现进行修改与重构,最终包装为 jQuery 插件,并补充了主题系统与若干便捷方法,使接入成本进一步降低。

技术架构分析

方法与构建

除初始化外,插件提供了一组通过 $game.blockrain('方法名', 参数) 调用的实用方法:

  • start / restart / gameover:开始、重开、触发游戏结束。
  • pause / resume:暂停与恢复。
  • autoplay(true|false):开关自动游玩。
  • controls(true|false):开关玩家控制。
  • theme:传入主题名(如 'vim')或主题对象切换外观,对象示例可参考 src/blockrain.jquery.themes.js。
  • score:返回当前分数。

构建方面,README 说明执行 gulp build 会在 /build 下生成完整的压缩源码,其内容基本是 License、依赖库、主题与 src 的拼接压缩结果。

补充说明

快速上手

使用流程非常短,README 的 Setup 一节给出了完整示例:

  1. 在页面中创建一个元素(div、article、figure 均可),并务必通过 CSS 为其设置宽度和高度,否则游戏区域没有尺寸。
  2. 引入 jQuery 与 blockrain.js,同时强烈建议引入配套的 blockrain.css,因为它提供了 UI 所需的重要样式(也可以按需自行定制)。
  3. 调用 $('.game').blockrain() 完成初始化。

示例结构如下:

<div class="game" style="width:250px; height:500px;"></div>
<link rel="stylesheet" href="blockrain.css">
<script src="jquery.js"></script>
<script src="blockrain.js"></script>
<script>
  $('.game').blockrain();
</script>

如果想让游戏自己玩,可以开启连续自动游玩:$('.game').blockrain({ autoplay: true, autoplayRestart: true }),其中 autoplayRestart 会在机器人失败后自动重开。

主题与自定义外观

Blockrain 内置了多套开箱即用的主题,README 列出的可用主题包括:custom(新增)、candy、modern、retro、vim、monochrome、gameboy、aerolab。开发者也可以把自定义主题加入 BlockrainThemes。

主题对象支持的主要配置项包括:

  • background:主背景色;backgroundGrid:可绘制的小网格背景,也支持 base64 编码的自定义纹理。
  • primary / secondary:分别覆盖下落方块与已落定方块的颜色。
  • stroke / innerStroke:方块边框与内部细边框,用于增加质感。
  • blocks:逐类指定七种方块的配色(line、square、arrow、rightHook、leftHook、rightZag、leftZag)。

此外还支持完全自定义的方块贴图:为每种方块指定一张图片,插件会处理其余逻辑;也可以传入图片列表,让 BlockRain 为每个方块随机挑选设计。README 特别提醒,图片需与官方 custom 主题中附带的方块保持完全一致的格式(旋转方式与宽高比)。README 还提到一个有趣的细节:现在连正方形方块也可以旋转了。

配置选项

Options 一节列出了较完整的可调参数,主要分为几类:

  • 自动游玩:autoplay 让机器人接管游戏,autoplayRestart 在机器人失败后自动重开。
  • 开局表现:showFieldOnStart 在开始界面显示一批随机方块,用于视觉效果。
  • 主题与尺寸:theme 接受主题名或主题对象;blockWidth 定义场地宽度(标准为 10 格);autoBlockWidth 依据 autoBlockSize 动态计算宽度,适合响应式背景,启用后会禁用 blockWidth。
  • 难度与速度:difficulty 可选 normal / nice / evil;speed 数值越大方块下落越快。
  • 文案:playText、playButtonText、gameOverText、restartButtonText、scoreText 均可替换。
  • 回调:onStart、onRestart、onGameOver(score),以及消行时触发的 onLine(lines, scoreIncrement, score),可拿到行数、本次得分与总分。

开源许可证与版权说明

许可证标识:MIT。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目