盖楼游戏
一个基于 Canvas 的盖楼游戏
Demo 预览
在线预览地址 (Demo Link)
手机设备可以扫描下方二维码
github
https://github.com/bmqb/tower_game 喜欢的朋友 给个star 支持一下哦
Game Rule 游戏规则
以下为默认游戏规则,也可参照下节自定义游戏参数
-
每局游戏生命值为3,掉落一块楼层生命值减1,掉落3块后游戏结束,单局游戏无时间限制
-
成功盖楼加25分,完美盖楼加50分,连续完美盖楼额外加25分,楼层掉落扣除生命值1,单局游戏共有3次掉落机会
栗子:第一块完美盖楼加50分,第二块连续完美盖楼加75分,第三块连续完美盖楼加100分,依此类推……
Customise 自定义
git clone https://github.com/bmqb/tower_game.git
cd tower_game
npm install
npm start
打开 http://localhost:8082
- 图片、音频资源可以直接替换
assets
目录下对应的资源文件 - 游戏规则可以修改
index.html
文件L480
的option
对象
Option 自定义选项
可以使用以下 option
表格里的参数,完成游戏自定义,所有参数都是非必填项
Option | Type | Description |
---|---|---|
width | number | 游戏主画面宽度 |
height | number | 游戏主画面高度 |
canvasId | string | Canvas 的 DOM ID |
soundOn | boolean | 是否开启声音 |
successScore | number | 成功盖楼分数 |
perfectScore | number | 完美盖楼额外奖励分数 |
hookSpeed | function | 钩子平移速度 |
hookAngle | function | 钩子摆动角度 |
landBlockSpeed | function | 下方楼房横向速度 |
setGameScore | function | 当前游戏分数hook |
setGameSuccess | function | 当前游戏成功次数hook |
setGameFailed | function | 当前游戏失败次数hook |
hookSpeed
钩子平移速度
函数接收两个参数,当前成功楼层和当前分数,返回速度数值
function(currentFloor, currentScore) {
return number
}
hookAngle
钩子摆动角度
函数接收两个参数,当前成功楼层和当前分数,返回角度数值
function(currentFloor, currentScore) {
return number
}
landBlockSpeed
下方楼房平移速度
函数接收两个参数,当前成功楼层和当前分数,返回速度数值
function(currentFloor, currentScore) {
return number
}
setGameScore
当前游戏分数hook
函数接收一个参数,当前游戏分数
function(score) {
// your logic
}
setGameSuccess
当前游戏成功次数hook
函数接收一个参数,当前游戏成功次数
function(successCount) {
// your logic
}
setGameFailed
当前游戏失败次数hook
函数接收一个参数,当前游戏失败次数
function(failedCount) {
// your logic
}
License
MIT license.