当前位置:Gxlcms > JavaScript > Javascript编写俄罗斯方块思路及实例_javascript技巧

Javascript编写俄罗斯方块思路及实例_javascript技巧

时间:2021-07-01 10:21:17 帮助过:23人阅读

  俄罗斯方块这个游戏也做了移动端的兼容, 这个游戏难点是怎么翻转方块, 自己实现的方式是把方块放到一个二维数组, 然后逆时针旋转二维数组。

  也有别的方法,比如直接用一个全局变量代表一个方向, 翻转的时候根据这个变量转动方块, 但是代码要写更多。

  在文库搜索到了一篇关于算法的文章, ....看着好心塞:

  游戏截图PC端:

  游戏截图移动端:

  模板引擎用了HandlebarsJS, 为了更好的模块化,也用了requireJS....没用好;

运行下面代码

  游戏主要有三个模型层: 游戏方块的模型层, 游戏分数的模型层, 游戏整体界面结构模型层;

  控制层就一个, 就是用户点击游戏开始的按钮, 游戏就开始了, 如果是PC,就会监听keydown事件, 如果是移动端, 就新建四个方向键的DOM, 监听方向键的点击事件,事件会使当前方块的数据模型发生旋转, 至于显示,那是view层的事情,先不用管, 主要的逻辑包括方块的随机生成, 方块的碰撞检测,方块的消除,分数的增加, 重新随机生成方块等:

运行下面代码

  游戏的主要窗口直接看成是二维数组, 所有要显示的方块都是数组中的数据, 通过模板引擎, 一秒钟更新一次data到view, 模板如下:

运行下面代码

  为了让整体的内容和提示更加美观,用了提示插件 zepto.alert和bootStrap;

  在线DEMO:打开

人气教程排行