蓋樓游戲
一個基于 Canvas 的蓋樓游戲
Demo 預覽
在線預覽地址 (Demo Link)
- 手機設備可以掃描下方二維碼
[圖片上傳失敗...(image-70bc4b-1521610927114)]
github
https://github.com/bmqb/tower_game 喜歡的朋友 給個star 支持一下哦
Game Rule 游戲規(guī)則
以下為默認游戲規(guī)則,也可參照下節(jié)自定義游戲參數(shù)
每局游戲生命值為3颠焦,掉落一塊樓層生命值減1罩润,掉落3塊后游戲結(jié)束逃顶,單局游戲無時間限制
成功蓋樓加25分窑邦,完美蓋樓加50分,連續(xù)完美蓋樓額外加25分迂求,樓層掉落扣除生命值1霞怀,單局游戲共有3次掉落機會
栗子:第一塊完美蓋樓加50分,第二塊連續(xù)完美蓋樓加75分屎鳍,第三塊連續(xù)完美蓋樓加100分宏娄,依此類推……
<p align="center">
<img src="https://o2qq673j2.qnssl.com/Fv7ewqHHXeAnUAlF7AI9ndQulEOC" />
</p>
Customise 自定義
git clone https://github.com/bmqb/tower_game.git
cd tower_game
npm install
npm start
打開 http://localhost:8082
- 圖片、音頻資源可以直接替換
assets
目錄下對應的資源文件 - 游戲規(guī)則可以修改
index.html
文件L480
的option
對象
Option 自定義選項
可以使用以下 option
表格里的參數(shù)逮壁,完成游戲自定義孵坚,所有參數(shù)都是非必填項
Option | Type | Description |
---|---|---|
width | number | 游戲主畫面寬度 |
height | number | 游戲主畫面高度 |
canvasId | string | Canvas 的 DOM ID |
soundOn | boolean | 是否開啟聲音 |
successScore | number | 成功蓋樓分數(shù) |
perfectScore | number | 完美蓋樓額外獎勵分數(shù) |
<a href="#hookspeed">hookSpeed</a> | function | 鉤子平移速度 |
<a href="#hookangle">hookAngle</a> | function | 鉤子擺動角度 |
<a href="#landblockspeed">landBlockSpeed</a> | function | 下方樓房橫向速度 |
<a href="#setgamescore">setGameScore</a> | function | 當前游戲分數(shù)hook |
<a href="#setgamesuccess">setGameSuccess</a> | function | 當前游戲成功次數(shù)hook |
<a href="#setgamefailed">setGameFailed</a> | function | 當前游戲失敗次數(shù)hook |
hookSpeed
鉤子平移速度
函數(shù)接收兩個參數(shù),當前成功樓層和當前分數(shù)窥淆,返回速度數(shù)值
function(currentFloor, currentScore) {
return number
}
hookAngle
鉤子擺動角度
函數(shù)接收兩個參數(shù)卖宠,當前成功樓層和當前分數(shù),返回角度數(shù)值
function(currentFloor, currentScore) {
return number
}
landBlockSpeed
下方樓房平移速度
函數(shù)接收兩個參數(shù)祖乳,當前成功樓層和當前分數(shù)逗堵,返回速度數(shù)值
function(currentFloor, currentScore) {
return number
}
setGameScore
當前游戲分數(shù)hook
函數(shù)接收一個參數(shù),當前游戲分數(shù)
function(score) {
// your logic
}
setGameSuccess
當前游戲成功次數(shù)hook
函數(shù)接收一個參數(shù)眷昆,當前游戲成功次數(shù)
function(successCount) {
// your logic
}
setGameFailed
當前游戲失敗次數(shù)hook
函數(shù)接收一個參數(shù)蜒秤,當前游戲失敗次數(shù)
function(failedCount) {
// your logic
}
License
MIT license.