盖楼游戏

一个基于 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 文件 L480option 对象

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.

💒 es6 + canvas 开源 盖楼小游戏 完整代码注释 从零教你做游戏(一)的更多相关文章

  1. C语言实现推箱子游戏完整代码

    C语言实现推箱子游戏完整代码 前言 自己做的,可能有些代码不够工整,或者有些小问题,但游戏的基本操作是可以实现的 代码效果 代码一共分为8个部分,4个控制上下左右移动,2个判断输赢,1个统计归为的个数 ...

  2. Vue+WebSocket+ES6+Canvas 制作「你画我猜」小游戏

    Vue+WebSocket+ES6+Canvas 制作「你画我猜」小游戏 转载 来源:jrainlau 链接:https://segmentfault.com/a/1190000005804860 项 ...

  3. python小游戏实现代码

    早上逛CSDN首页就见到这么一篇教程.看了一下很有意思,就马上动手实现了一下.看看效果吧: 完整代码: # -*- coding: utf-8 -*- # 1 - Import library imp ...

  4. bbs/贴吧/盖楼的技术实现(PHP)

    2015年3月5日 14:36:44 更新: 2015年7月18日 16:33:23 星期六 目标, 实现类似网易盖楼的功能, 但是不重复显示帖子 效果: * 回复 //1楼 ** 回复 //1楼的子 ...

  5. [原创]基于html5新标签canvas写的一个小画板

    最近刚学了canvas,写个小应用练习下 源代码 <!DOCTYPE> <html> <head> <meta http-equiv="Conten ...

  6. Html5 Canvas动画旋转的小方块;

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  7. 实例源码--IOS高仿微信打飞机游戏(完整功能)

    下载源码 技术要点: 1. IOS游戏开发基础框架 2. 高仿打飞机游戏 3. 游戏背景音频技术 4.源码详细的中文注释 ……. 详细介绍: 1. IOS游戏开发基础框架 此套源码为涉及IOS游戏开发 ...

  8. SQL递归查询实现跟帖盖楼效果

    网易新闻的盖楼乐趣多,某一天也想实现诸如网易新闻跟帖盖楼的功能,无奈技术不佳(基础不牢),网上搜索了资料才发现SQL查询方法有一种叫递归查询,整理如下: 一.查询出 id = 1 的所有子结点 wit ...

  9. 基于Python使用SVM识别简单的字符验证码的完整代码开源分享

    关键字:Python,SVM,字符验证码,机器学习,验证码识别 1   概述 基于Python使用SVM识别简单的验证字符串的完整代码开源分享. 因为目前有了更厉害的新技术来解决这类问题了,但是本文作 ...

随机推荐

  1. 第二十二章 Django会话与表单验证

    第二十二章 Django会话与表单验证 第一课 模板回顾 1.基本操作 def func(req): return render(req,'index.html',{'val':[1,2,3...]} ...

  2. python——Django项目模板

    views.py # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.shortcuts impor ...

  3. shiro整合ehcache

    目标:让Shiro整合ehcache,提供缓存realm数据的功能. 1.引入encache配置文件,配置缓存 <!-- <ehcache xmlns:xsi="http://w ...

  4. Centos定时启动和清除任务

    因为需要定时并发执行任务,所以查到了crontab这个工具,介绍一下其用法: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=roo ...

  5. DirectShow使用说明

    1) 安装directX sdk 2)打开安装目录下的dshow.dsw,进行编译 3)在VC++的Tools/Option/Directory的Include和Library中分别加入 C:/DXS ...

  6. 在U-boot中添加以太网驱动

    当定义CONFIG_CMD_NET和CONFIG_CMD_PING,编译之后执行ping命令,告警没有找到以太网. 因此,需要打开U-boot的网络功能, u-boot-sunxi-sunxi中没有找 ...

  7. JavaScript获取屏幕和页面的宽度和高度

    JavaScript获取屏幕和页面的宽度和高度 1.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...

  8. java.sql.SQLException:Column count doesn't match value count at row 1

    1.错误描述 java.sql.SQLException:Column count doesn't match value count at row 1 2.错误原因     在插入数据时,插入的字段 ...

  9. JBOD磁盘磁盘簇

    JBOD是存储领域中一类重要的存储设备. JBOD(Just a Bunch Of Disks,磁盘簇)是在一个底板上安装的带有多个磁盘驱动器的存储设备.通常又称为Span. 和RAID阵列不同,JB ...

  10. Hibernate【映射】知识要点

    前言 前面的我们使用的是一个表的操作,但我们实际的开发中不可能只使用一个表的...因此,本博文主要讲解关联映射 集合映射 需求分析:当用户购买商品,用户可能有多个地址. 数据库表 我们一般如下图一样设 ...