项目简介
本项目受React版俄罗斯方块启发,把它重构为Vue版。运用Vue + Vuex搭建游戏框架,具备响应式设计、数据持久化等特性,利用Web Audio Api实现高频率音效播放,同时在游戏体验方面做了大量优化,支持多语言。
项目的主要特性和功能
- 响应式设计:能自适应屏幕,支持PC键盘操作和手机触摸操作。
- 数据持久化:通过订阅
store.subscribe
将游戏状态存于localStorage
,网页刷新、程序崩溃或手机没电后重新打开可继续游戏。 - Vuex状态管理:用Vuex管理所有应存状态,保证数据持久化,可通过
this.$store.state.xxx
随时访问数据。 - Web Audio Api音效:借助Web Audio Api以毫秒级精确、高频率播放音效,仅引用一个音效文件。
- 游戏体验优化:可自定义方向键触发频率;左右移动能控制掉落速度,撞墙时延迟稍小;按钮同时支持
touchstart
和mousedown
事件;监听visibilitychange
事件,页面隐藏或切换时游戏暂停;任意时刻刷新网页可还原当前状态;游戏大部分界面用CSS实现,仅用一张图片;兼容Chrome、Firefox、IE9+、Edge等浏览器。 - 游戏规则:游戏开始前可指定初始棋盘(十个级别)和速度(六个级别);消除1行得100分、2行得300分、3行得700分、4行得1500分;方块掉落速度随消除行数增加(每20行增加一个级别)。
- 多语言支持:在
i18n.json
中配置多语言环境,通过URL参数lan
切换语言。
安装使用步骤
假设用户已经下载了本项目的源码文件,可按以下步骤操作:
1. 安装依赖:在项目根目录下,打开终端执行以下命令安装所需依赖:
npm install
2. 运行项目:安装完成后,执行以下命令启动开发服务器:
npm run dev
浏览器将自动打开 http://localhost:8080,即可开始游戏。
3. 切换语言:在URL后面添加 ?lan=en
或 ?lan=zh
等参数切换语言,例如 http://localhost:8080?lan=en
。
4. 打包编译:若需要将项目打包成生产环境版本,执行以下命令:
npm run build
打包结果将生成在 dist
文件夹下。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】