これが私の現在のコードです: JSFiddle
36 行目:tempX = x + k - seedSeparation / 2;
エラーが発生します。に変更tempX
するとx
、k
またはseedSeparation / 2
動作します。
コードの抜粋:
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;
}
}
}
}
ここで何が問題なのですか?この計算でエラーが発生するのはなぜですか?