1 / 9
文档名称:

HTML5 俄罗斯方块.doc

格式:doc   大小:51KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

HTML5 俄罗斯方块.doc

上传人:drp539606 2019/2/24 文件大小:51 KB

下载得到文件列表

HTML5 俄罗斯方块.doc

文档介绍

文档介绍:canvas的接口 上面写的很丰富。写的过程中,参考了很多网上的例子,最后觉得 左洸博客的比较容易好懂。主要分为数据模型,游戏控制模型和工具函数。一数据模型首先考虑的问题就是方块到底是什么?绘制方块,就是canvas里绘制矩形,至少需要知道矩形的起点,宽度和高度。因此,只要确定方块的坐标点,就能根据宽度高度绘制图形。通常,俄罗斯方块有几种TLS|等,每个形状都有一个属于自己的坐标系。因此,所有图形的数据结构为:1234567891011121314/***数据模型*/                                                                                                                 //各种形状的编号,0代表没有形状noShape       =0;zShape        =1;sShape        =2;lineShape     =3;tShape        =4;squareShape   =5;lShape        =6;mirroredLShape=7;                                                                                                                 15161718192021222324shapesData=[    [[0,0],  [0,0],  [0,0],  [0,0]],    [[0,-1], [0,0],  [-1,0], [-1,1]],    [[0,-1], [0,0],  [1,0],  [1,1]],    [[0,-1], [0,0],  [0,1],  [0,2]],    [[-1,0], [0,0],  [1,0],  [0,1]],    [[0,0],  [1,0],  [0,1],  [1,1]],    [[-1,-1],[0,-1], [0,0],  [0,1]],    [[1,-1], [0,-1], [0,0],  [0,1]]];形状最终要画到画布上,在画布上还需要建立一个全局坐标系,即(row,col)的坐标系,与canvas的映射一直,则自身坐标系的x为全局坐标系的col,需要一个简单的转换。例如自身坐标系为[[0,-1], [0,0],  [1,0],  [1,1]]全局坐标系为:12345678910111213[{    row:-1+row,    col:0+col},{    row:0+row,    col:0+col},{    row:0+row,    col:2+col},{    row:1+row,    col:1+col}]转换之后,还有变形,变形的原理是先相对自身的坐标系中原点移动,然后再转换成全局坐标系。公式如下  x=-y,y=x即[[0,-1], [0,0],  [1,0],  [1,1]]变形之后为:[[1,0], [0,0],  [0,1],  [-1,1]]实现函数,作为工具模块的函数。其实最好写成函数式的就比较优雅和简洁1234567891011121314151617181920//转