es6 + canvas 开源 盖楼小游戏 完整代码注释 从零教你做游戏(一)

一款基于Canvas的盖楼游戏,玩家通过控制钩子挂接楼层来累积分数。成功盖楼可获得25分,完美盖楼则获50分,连续完美盖楼还有额外加分。游戏提供自定义选项,允许调整游戏参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

盖楼游戏

tower-loading.gif

一个基于 Canvas 的盖楼游戏

Demo 预览

tower-preview.gif

在线预览地址 (Demo Link)

手机设备可以扫描下方二维码

tower-game-qr-code.png

github

https://github.com/bmqb/tower_game 喜欢的朋友 给个star 支持一下哦

Game Rule 游戏规则

以下为默认游戏规则,也可参照下节自定义游戏参数

  • 每局游戏生命值为3,掉落一块楼层生命值减1,掉落3块后游戏结束,单局游戏无时间限制

  • 成功盖楼加25分,完美盖楼加50分,连续完美盖楼额外加25分,楼层掉落扣除生命值1,单局游戏共有3次掉落机会

栗子:第一块完美盖楼加50分,第二块连续完美盖楼加75分,第三块连续完美盖楼加100分,依此类推……

Fv7ewqHHXeAnUAlF7AI9ndQulEOC

Customise 自定义

git clone https://github.com/bmqb/tower_game.git
cd tower_game
npm install
npm start

打开 http://localhost:8082

  • 图片、音频资源可以直接替换 assets 目录下对应的资源文件
  • 游戏规则可以修改 index.html 文件 L480option 对象

Option 自定义选项

可以使用以下 option 表格里的参数,完成游戏自定义,所有参数都是非必填项

OptionTypeDescription
widthnumber游戏主画面宽度
heightnumber游戏主画面高度
canvasIdstringCanvas 的 DOM ID
soundOnboolean是否开启声音
successScorenumber成功盖楼分数
perfectScorenumber完美盖楼额外奖励分数
hookSpeedfunction钩子平移速度
hookAnglefunction钩子摆动角度
landBlockSpeedfunction下方楼房横向速度
setGameScorefunction当前游戏分数hook
setGameSuccessfunction当前游戏成功次数hook
setGameFailedfunction当前游戏失败次数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.

转载于:https://www.cnblogs.com/iamkun/p/8616104.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值