项目简介
本项目是利用 React、Redux 和 Immutable.js 技术栈开发的俄罗斯方块游戏。结合 React、Redux 的优势与 Immutable.js 的特性,带来流畅、可持久的游戏体验。运用 Web Audio Api 实现丰富音效,且在游戏体验和开发方面做了多方面优化。
项目的主要特性和功能
- 响应式设计:支持屏幕自适应,根据平台改变输入方式,PC 用键盘、手机用触摸操作。
- 数据持久化:通过
store.subscribe
将游戏状态存于localStorage
,可恢复进度。 - Redux 状态管理:管理所有应存储的状态,可通过 Redux DevTools 预览。
- Immutable.js 应用:用于 Redux 的 state,简化代码、提高性能、方便状态比较。
- Web Audio Api 音效:实现毫秒级精确、高频率音效播放,一个音效文件实现多种效果。
- 游戏体验优化:自定义方向键触发频率;左右移动可调整方块掉落速度;按钮适应不同操作场景;页面隐藏或切换时游戏暂停;刷新网页可还原状态;大部分界面效果用 CSS 实现;兼容主流浏览器。
- 多语言支持:在
i18n.json
中配置,通过 URL 参数lan
切换语言。 - 自定义游戏规则:开始前指定初始棋盘和速度,按消除行数计分,方块掉落速度随消除行数增加。
安装使用步骤
安装依赖
在项目根目录下,打开终端执行:
npm install
运行项目
安装完成后,在终端执行以下命令启动项目:
npm start
启动成功后,浏览器将自动打开 http://127.0.0.1:8080/ ,即可开始游戏。
打包编译
若需打包编译项目,在终端执行:
npm run build
编译结果将生成在 build
文件夹下。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】