0

これが私の現在のコードです: JSFiddle

36 行目:tempX = x + k - seedSeparation / 2;エラーが発生します。に変更tempXするとxkまたは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;
            }
        }
    }
}

ここで何が問題なのですか?この計算でエラーが発生するのはなぜですか?

4

1 に答える 1