編集: 2d配列を単純な配列に変更し、算術と論理を使用して座標を取得することで問題を解決しました。ロジックがjavascriptで正しく起動しない
私は、座標に奇数 - 奇数のペアリングがあるときに2次元配列に50を加えるアルゴリズムを持っています([1] [1]、[3] [5]など)。唯一の問題は、機能していないことです。ブラウザのコンソールによれば、決して起動しません。これは、それが何であるかです:
if(((col & 1) & row) == 1) { y+= 50; }
私のコードのより完全な例ここにある:配列は、次のコードで設定された
//goes through the board's array and calls
//drawChecker to print each found piece
function drawPieces() {
var row = 0;
var col= 0;
for(row = 0; row < 1; row++) {
var y = row * 100;
console.log("row " + row + " set x to " + x);
var flag = (row & 1);
for(col = 0; col < 8; col++) {
var x = col*50;
console.log("column " + col + " set y to " + y);
console.log("y was " + y);
if(((col & 1) & row) == 1) { y+= 50; }
console.log("Now y is " + y);
console.log("Done setting " + row + "," + col);
console.log("Final coordinates are " + x + "," + y);
drawChecker(x,y,square[row][col]);
}
}
}
:
var square = new Array(4);
for(i = 0; i < 4; i++) { square[i] = new Array(8); }
計算の結果は行く?正方形にする? –
'for(row = 0; row <1; row ++)の単一行しかありません。 –
' for'ループでは 'square.length'を限界値として使い、' for 'ループでは 'square [row] .length '内部の値ではなく、固定値である。 – hindmost