Ich habe ein Array (2d-Matrix), und ich mag die x/y-Werte für die(Javascript - Arrays) Get ganz links und ganz rechts angeschlossener Charakter
- meist links & oben kommen verbunden '1'-Charakter
- meisten rechts & Boden verbunden' 1'-character
EDIT 2.0:
Ich rufe meine Funktion mit den Parametern x/y, das sind die Koordinaten meines Start-'1'-Zeichens.
10001
00001
11111
01110 --> (x: 1, y: 3)
Und meine Funktion überprüft die Spalte oben & und die Spalte rechts so, wenn es ein Zeichen ‚1‘ zählt x oder y (wo die Spalte gefunden wurde) und 1.
My-Funktion an einem bestimmten Punkt beginnt (zB y: 2, x: 0)
var array = [
'00000',
'01111', --> get position of the most top & right '1'-character (x: 4, y: 1)
'11000',
'00000'
]
Dies ist der functio n erhält das rechte oberes Ende von ‚1'-Zeichen:
var array = [
'00000',
'01111',
'11000',
'00000'
]
Array.prototype.get_top_right = function(x_pos, y_pos) {
var matrix = this, y1= y_pos;
for (var x1 = x_pos; x1 < this[0].length; x1++) {
try {
if (matrix[(y1-1)][x1] == '1') y1--;
else if (matrix[y1][(x1+1)] != '1') break;
} catch(e) {}
}; return [x1,y1]
}
var result=array.get_top_right(0,2)
console.log(result)
Ok. Die obige Funktion scheint gut zu funktionieren, aber jetzt möchte ich den Prozess umkehren, um das letzte links unten verbundene '1'-Zeichen meiner Matrix/2D-Matrix zu erhalten.
var array = [
'00000',
'01111',
'11000', --> get position of the most bottom & left '1'-character (x: 0, y: 2)
'00000'
]
Ich habe keine Ahnung, wie die Funktion oben zu bearbeiten, um das linke & unten Spiel als Ergebnis zu erhalten statt dem am weitesten rechts & Topspiel wie Sie oben sehen können.
Edit 1.0 Meine Funktion, die ich bis noch codiert habe nicht funktioniert, sondern sieht wie folgt aus:
Array.prototype.get_bottom_left = function(x_pos, y_pos) {
var matrix = this, y2= y_pos;
for (var x2 = x_pos; x2 > 0; x2--) {
try {
if (matrix[(y2+1)][x2] == '1') y2++;
if (matrix[y2][(x2-1)] != '1') break;
} catch(e) {}
}; return [x2,y2]
}
Mit dieser Funktion oben und die error_array unter den Boden bekommen links verbunden Charakter Das Array führt zu einem Absturz des Browsers. Nett!
var error_array = [
'000000',
'000011',
'111110',
'111111'
]
Ich hoffe jedoch, jemand mir meine Funktion zu aktualisieren helfen kann ...
Dank einer Million im Voraus,
Grüße - hans.
ich, dass ich diese Frage gleich gestern hätte schwören können, sah, aber jetzt ist es nirgends zu finden, sich vorstellen, dass. – James
Ok. Klingt verrückt, also wenn du die Frage findest, wäre es super nett, wenn du mir den Link für die Frage liefern könntest. Vielen Dank! –
Ist die Zeichenfolge immer 5 Zeichen? – zfrisch