supersheep
2011-11-22 22:50:07 +08:00
1.js的数组可以直接这样声明:arr=[]。
所以初始化的过程可以这样写:
for(i=0;i<13;i++){
arr[i]=[];
for(j=0;j<13;j++){
arr[i][j]="█";
}
}
2.setTimeout或者setInterval后面的第一个参数不建议写成字符串的形式,因为这样其实会隐式的执行new Function(str) 方法,存在效率问题。正确的做法是 setTimeout(func,time);直接传函数名。
3.这里game函数用来生成数组数据,print函数用来输出,所以每次把两个函数都调用一遍就可以了,没有必要在各自的函数体里写setTimeout。可以这样写:
setInterval(function(){game();print();},1000);
4.document.write在很多浏览器下似乎会把包括script在内的内容也写掉,也就是第一次执行之后,脚本可能就不存在了,导致程序不理你了。可以先拼接字符串,然后赋值给 document.body.innerHTML。
5.测试了一下,ie下字符变瘦了,可能是字体或者字符集的问题。这块没有深究过,我的话可能会采用放一堆div的方式来兼容,不过这样开发和执行的效率就都要下去喽……
6.作品很好看很有美感,赞一个!