js 实现俄罗斯方块(三)

我又来啦!上一篇有点水,本篇我们来干货!

嘿嘿,首先我们先搭建游戏世界------网格

所有的操作包括左移右移下移旋转都是在这个网格中

既然是使用js来写当然跑不了html啦,实现网格最简单的

方法就是用html的表格了!那么:

第一步:画表格(画一个长宽相等的表格)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            #board tr td{    
                width: 20px;    
                height: 20px;    
            }  
            #main{  
                float: left;  
            }  
            
        </style>
        <script src="js/jquery-1.6.4.js"></script>
    
    </head>
    
    <body>
        
        <table id="board" cellspacing=0 cellpadding=0 border=1 style="border-collapse:collapse;">    
            
        </table>
       
    </body>
    <script>
    
        /*上面代码画格子*/
        var line = 30;//行数
        var size = 20;//列数
        
           for(i=0; i<line; i++){
               var tr = tr + "<tr>";
               var td = "";
               for(j=0; j<size; j++){
                td =td + "<td></td>";    
               }
               tr =tr+td+"</tr>";
           }
           
           html = tr;
           $("#board").append(html);
           </script>
</html>

好啦!快看看效果~是不是感觉已经做好一半了嘛!嘿嘿

下面我们要准备基本图形啦!

首先,我们先来个“点”:

怎么实现呢?

很简单我们先来分析下吧~

 通过代码我们知道我用js画了一个30行20列的表格我们通过样式限制了

表格长宽相同,这样就是一个正方形了。

然后我们通过对行列的操作就可以显示出各种不同的形状了!比如上图我们让第10行第10列

的方块的背景换成红色。这就是一个基础图形的元素了!下面我们来画基础图形吧~

首先画一个坐标系:

箭头标注点为原点(0,0)

沿着箭头方向依次增大X或者Y。有了这个规则我们就可以画出来基本图形了!

首先来个简单的:

很明显这是4个点连成一条线构成的,我们从(0,0)点开始

那么这个图形就是这样一组数组:

(0,0)

(0,1)

(0,2)

(0,3)

 画好后整体向右平移(只要全体x+固定值就好了)

 假设向右平移3个格子坐标:

(0,3)

(0,4)

(0,5)

(0,6)

 同理 我们就可以得到 其他图形样式了 !

大家加油!~~

原文地址:https://www.cnblogs.com/wobeinianqing/p/7767854.html