完整版代码下载地址:HTML5实现消灭星星

消灭星星游戏制作思路:

(1)本游戏基于canvas画布实现。从界面看,消灭星星由10X10的星星方块组成,因而我们要定义一个二维数组来存储它。

(2)消灭星星的方块有红黄蓝绿紫五种,可以用一个随机数随机生成0到4这五个数字分别赋给数组;根据数组元素不同的值绘制不同颜色的星星方块。

(3)界面做出来后就是互动方面了,通过js的鼠标点击事件获取点击位置的x,y坐标,因为是网页版的,所以采用js获取的坐标跟实际坐标有所出入。实际坐标应等于获取坐标减去画布左距,上距。由坐标计算出对应的星星方块,即所对应的数组元素。(以下称为点击元素)

(4)找出点击的星星方块周围相邻的同样图案的方块,再以该方块为中心继续找。直到没有相邻的同样方块为止。即在数组上找出相邻的同样的值的元素,举个例子:如果点击元素是(x,y),那么依次判断(x-1,y),(x+1,y),(x,y-1),(x,y+1)这四个元素是否相等。如果(x-1,y)与(x,y)相等,则以(x-1,y)为中心再找。

(5)将上一步得到的所有相邻相同图案的方块清空,即在数组上,将相邻相同元素赋为9。(这里可取任何值,只要与前面的0~4这四个值区分即可)

(6)计算得分,得分等于清空的方块数的平方再乘以5,更新分数。

(7)判断方块是否能向下移动,如果有某个方块的下方是空的,那么向下移动方块,直到不能移动为止。

(8)判断方块是否能向左边移动,如果某列方块的左边那一列全为空,则该列方块向左边移动。

(9)判断游戏是否结束,如果界面上剩下的方块中,没有相邻两个以上的方块,则游戏结束。计算奖励分,奖励分等于2000-所剩方块数的平方乘以20;当剩余方块数大于10时,奖励分为0。关卡数自加1,重新初始化数组,开始下一轮。

(10)游戏开发完成界面:

完整版代码下载地址:HTML5实现消灭星星

HTML5实现消灭星星相关推荐

  1. 基于HTML5的消灭星星网页小游戏设计

    目录 1 游戏介绍 1 2.1 Model 3 2.1.1 生成砖墙 4 2.1.2 消除砖块 4 2.1.3 夯实砖墙 6 2.1.4 消除残砖 11 2.2 View 12 2.3 Control ...

  2. 基于HTML5实现的消灭星星小游戏

    笔者这次又是使用了 MVC 模式来写「消灭星星」.星星「砖块」的数据结构与各种状态由 Model 实现,游戏的核心在 Model 中完成:View 映射 Model 的变化并做出对应的行为,它的任务主 ...

  3. HTML5游戏实战之消灭星星(完整源代码)

    消灭星星是一款经典的休闲游戏,因此花了一点时间在Hola Studio上实现它.本游戏包含完整的游戏元素,包括广告.音乐.音效.振动.关卡.分享等. 游戏截图 扫描二维码 游戏链接:http://st ...

  4. [源码和文档分享]基于HTML5实现的消灭星星小游戏

    笔者这次又是使用了 MVC 模式来写「消灭星星」.星星「砖块」的数据结构与各种状态由 Model 实现,游戏的核心在 Model 中完成:View 映射 Model 的变化并做出对应的行为,它的任务主 ...

  5. PopStar(消灭星星)游戏源代码下载、分析及跨平台移植---第四篇(关卡)

    背景: 本来打算把第三篇和第四篇合并都一起,但以前计划分开,就还是分来吧:一般的游戏涉及到关卡的话,一般都会建立一个数组来存放各种定义参数,消灭星星关卡比较容易,不需要建立数组,只有两个参数level ...

  6. PopStar(消灭星星)游戏源代码下载、分析及跨平台移植---第一篇(界面)

    背景: 来自星星的你电视剧很火,消灭星星游戏也很火,好像星星都很火,笔者就以星星为主题开始这篇博文.消除类的游戏挺受欢迎的,从2013年度app store最赚钱的游戏--粉碎糖果传奇,到总是可以在游 ...

  7. PopStar(消灭星星)游戏源代码下载、分析及跨平台移植---第二篇(算法)

    背景: 上一节,我们已经把消灭星星的界面搭建好了,流程也跑通了. 这一篇涉及到程序的算法,也许是最难的部分了,理解起来需要多花点时间,而且我提供的算法未必就是最好的,如果读者有更优更好的算法,希望分享 ...

  8. PopStar(消灭星星)游戏源代码下载、分析及跨平台移植---第三篇(分数)

    背景: 经过消灭星星第二篇算法,最高的山峰已经过去了,剩下的都是小沟小河,没什么难度了.这一节笔者继续完成消灭星星的分数篇,这节主要包括:触摸提示得分 比如4 blocks 80 points,然后产 ...

  9. PopStar(消灭星星)游戏源代码下载、分析及跨平台移植—第一篇(界面)

    背景: 来自星星的你电视剧很火,消灭星星游戏也很火,好像星星都很火,笔者就以星星为主题开始这篇博文.消除类的游戏挺受欢迎的,从2013年度app store最赚钱的游戏–粉碎糖果传奇,到总是可以在游戏 ...

最新文章

  1. 网站前中期外链优化少不了这三点!
  2. JavaScript的几个概念简单理解(深入解释见You Don't know JavaScript这本书)
  3. Java split(“\\s+“) 和 split(“+“) 有什么区别
  4. input type=text 无法使用.html(),input type=”text” (Elements) – HTML 中文开发手册
  5. ava线程池ThreadPoolExecutor的keepAliveTime=0时,表示超过core线程数的线程在空闲时立即结束
  6. 服务器系统js文件报错,js服务器文件
  7. oracle如何创建视图
  8. php 改变地址栏,php如何修改url
  9. 解决问题:Exception during message handling: Unacceptable CPU info: CPU doesn't have compatibility...
  10. webserver/CGI
  11. matlab语句运算相关论文,毕业论文MATLAB在复变函数中的应用.doc
  12. 用Python深度解读房贷利率
  13. Delphi- repeate
  14. 项目集锦 | 易基因近期m6A甲基化(MeRIP-seq)研究成果
  15. 求边长为一的正方体中,面对角线组成的正四面体体积.
  16. 搜狗输入法安装上问题
  17. 2014年东北四省赛总结
  18. 如何用美剧真正提升你的英语水平?
  19. nexus5 博通芯片WIFI详解 (4)
  20. 强化学习蘑菇书学习笔记04

热门文章

  1. 群晖的moments套件 发生未知错误
  2. 从抓包砍到接口测试,五分钟看完全过程解析,还说你不会测试?
  3. MATLAB基础学习(二)-变量类型与赋值
  4. 修改outlook2013中.ost文件的默认保存位置
  5. 花嫁之容氏浅浅最后怎么样了_花嫁之容氏浅浅大结局最后章节第2章免费看
  6. dft对称性 matlab实验,数字信号处理实验 matlab版 离散傅里叶变换的性质
  7. 分钟转换为小时加分钟方法
  8. 中学校园IP网络广播系统解决方案-校园数字IP广播系统方案设计指南
  9. Twitter实时搜索系统EarlyBird的总结
  10. 两分钟,告诉你如何提升棋牌游戏创业成功率