0
這裏是我當前的代碼以計算讀取未定義的屬性663。如果我將tempX
更改爲x
,k
或seedSeparation/2
它可以工作。JS數組不能作爲索引
代碼摘錄:
var mapX = 1000,
mapY = mapX,
seedLess = 3,
seedSeparation = 32, //Even number
canSeed, tempX, tempY,
x, y, seedNum = Math.round(((mapX + mapY)/2)/seedLess);
var map = [];
for (i = 0; i <= mapX; i++){
map[i] = [];
for (k = 0; k <= mapY; k++){
map[i][k] = 0;
}
}
x = Math.floor((Math.random()*mapX)+1);
y = Math.floor((Math.random()*mapY)+1);
for (l = 0; l <= seedSeparation; l++){
for (k = 0; k <= seedSeparation; k++){
tempX = x + k - seedSeparation/2; //Here lies the problem
tempY = y + l - seedSeparation/2;
if(tempX >= 0 || tempY >= 0){
if(map[tempX][tempY]){
canSeed = false;
}
}
}
}
這裏有什麼問題嗎?爲什麼這個計算給我一個錯誤?