为什么这段代码会破坏整个事情?

时间:2017-03-28 01:53:26

标签: javascript canvas

我目前正在尝试为一个学校项目重新创建康威的生命游戏,我们必须制作一个javascript画布游戏,并且我有一个小网格出现,但我遇到了网格本身的问题阵列。

var cellCount=20;
var currentGrid[cellCount][cellCount];
var nextGrid[cellCount][cellCount];

for(var i=0;i<20;i++){
    for(var j=0;j<20;j++){
        currentGrid[i][j]=0;
        nextGrid[i][j]=0;
    }
}

var canvas=document.getElementById('grid');
var ctx=canvas.getContext('2d');



function drawGrid(h,w,id){
    for(var x=0;x<w;x++){
        ctx.moveTo(0,x*20);
        ctx.lineTo(h,x*20);
        ctx.lineWidth=1;
        ctx.strokeStyle='rgb(211,211,211)';
        ctx.stroke();
    }
    for(var y=0;y<h;y++){
        ctx.moveTo(y*20,0);
        ctx.lineTo(y*20,w);
        ctx.lineWidth=1;
        ctx.strokeStyle='rgb(211,211,211)';
        ctx.stroke();
    }
}

drawGrid(421,421,'grid');

我知道这里没什么,但防止网格出现的部分是前三行。感谢。

1 个答案:

答案 0 :(得分:0)

而不是

var currentGrid[cellCount][cellCount];
var nextGrid[cellCount][cellCount];

做的:

 var currentGrid = new Array(cellCount).fill().map(() => new Array(cellCount).fill(0));
 var nextGrid = new Array(cellCount).fill().map(() => new Array(cellCount).fill(0));