Bearbeiten: Ich habe das Problem gelöst, indem Sie die 2d-Array zu einem einfachen Array und mithilfe von Arithmetik und Logik, um Koordinaten zu erhalten, siehe unten.Logik nicht korrekt in Javascript
Ich habe einen Algorithmus, der 50 zu einem zweidimensionalen Array hinzufügt, wenn die Koordinaten eine ungerade-ungerade Paarung haben (z. B. [1] [1], [3] [5] usw.). Das einzige Problem ist, es funktioniert nicht. Laut der Browserkonsole wird es nie ausgelöst. Dies ist, was es ist:
if(((col & 1) & row) == 1) { y+= 50; }
Ein vollständigeres Beispiel meines Code ist hier:
//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]);
}
}
}
Das Array wurde mit dem folgenden Code ein:
var square = new Array(4);
for(i = 0; i < 4; i++) { square[i] = new Array(8); }
wo sollte die Ergebnis der Berechnung gehen? platzen? –
Sie haben nur eine einzelne Zeile 'für (Zeile = 0; Zeile <1; Zeile ++)' –
Es wäre besser, 'square.length' als Grenzwert in der äußeren' for' Schleife und 'square [row] .length zu verwenden 'im Inneren, anstelle von festen Werten. – hindmost