我目前正在尝试为一个学校项目重新创建康威的生命游戏,我们必须制作一个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');
我知道这里没什么,但防止网格出现的部分是前三行。感谢。
答案 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));