Micropolis 城市模拟移植版(micropolisJS)
micropolisJS 是把 Micropolis(开源版《模拟城市》类城市模拟游戏)移植到 J...
blockrain.js · Aerolab/blockrain.js
Blockrain.js 是一个基于 HTML5、JavaScript 与 jQuery 的俄罗斯方块游戏库。为页面元素设置宽高后,可通过 $('.game').blockrain() 初始化,并引入配套 CSS 定制界面;README 还说明可开启连续自动游玩(autoplay 与 autoplayRestart)...
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 一节给出了完整示例:
$('.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),可拿到行数、本次得分与总分。
micropolisJS 是把 Micropolis(开源版《模拟城市》类城市模拟游戏)移植到 J...
《Dead Ascend》是一款手绘风格的 2D 点击式(point-and-click)冒险解谜游戏...
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
Hypersomnia 是 TeamHypersomnia 用 C++ 从零编写的一款多人俯视角(top-down...