js小游戏之简易俄罗斯方块

js小游戏之简易俄罗斯方块

首页休闲益智俄罗斯方块填充更新时间:2024-08-02
  1. 游戏面板,也就是12 * 20的方格
  2. 运动方块,方块需要实现移动,变形的功能。

创建html文件,使用canvas标签

定义canvas ctx变量,设置canvas宽高

整个面板就是以左上角(0,0)为原点的坐标系,右上角(12,0)左下角(0,20)右下角(12,20),每个点的坐标位置都可以确定。是否已经填充方块,我们可以将每个方格看成一个数组元素,0表示没有,1表示已经填充。12 * 20 的面板使用两层数组,即用20个长度为12的数组实现。

结合上面介绍的坐标系,7 种图形的坐标为数组 [x1, y1, x2, y2, x3, y3, x4, y4]

定义方块类型集合 ,按键码,随机生成7个图中一个图形

定义方块图形类

旋转,变形

旋转就是矩阵变换,以数组第三个点为中心旋转

遍历数组 任意一个点y坐标为19时表示到达了底部;获取该坐标的y 1位置在maps的信息,如果为1表示已经填充。这两种情况下,运动方块的周期结束,将该方块的坐标填充到maps对应的数组里面即可。

如果坐标的y 1已经有填充,同时当前坐标小于1,即已经在界面的顶部了,那么表示游戏结束。

绘制当前图形和下一个图形

游戏类

定义面板数组maps

图形类型shape

定时器

初始化数据,maps填充20个长度为12个0的数组

事件绑定,用fps来控制方块下落速度越小速度越快

实际运行效果

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved