Code Review
Vor ein paar Tagen wurde ich gefragt, ob ich zu den Spielereien mit Flopps toller Karte nicht mal ein Video machen könnte. Klare Antwort:Nein Aber ich kann gerne ein paar Codebeispiele liefern. Zwar schrieb ich unter anderem hier, dass es ohne Programmierkenntnisse nicht geht, aber sooo schwer ist es nun auch wieder nicht. Die Beispiele sind in Javascript verfasst, das leicht zu lernen ist und in jedem Browser funtioniert, also auch nichts extra installiert werden muss. Besorgt Euch einen Editor, legt darin eine HTML-Datei an und probiert die folgenden Beispiele aus:
Sie sind nicht wirklich elegant programmiert, aber dafür(hoffentlich) verständlich
Beispiel : N 53 56.(33*X+4) E 010 08.(80*X+34)
Dieses ist der Code für das erste Beispiel in diesem Artikel:
for (let X = 0; X <= 12; X++) { let north = String(33 * X + 4); let east = String(80 * X + 34); while (north.length < 3) { north = '0' + north; } while (east.length < 3) { east = '0' + east; } let coord = "N 53° 56." + north + " E 010°08." + east + ""; document.write(coord + "<br />"); }
Für alle möglichen Werte für X werden die Tausendstel berechnet und ggf. fehlende Nullen von links aufgefüllt. Danach werden die Fragmente in der Variablen coord gespeichert und ausgegeben, wenn man die Datei mit dem Browser aufruft.
Beispiel 2: Zwei Variablen: N 53 56.(A*40)+9 E 010 08.(B*100)+34
In diesem Beispiel zeige ich, wie mit mehreren Unbekannten verfahren wird, und dass die Methode schnell an ihre Grenzen stößt:
for (let A = 0; A <= 24; A++) { for (let B = 0; B <= 9; B++) { let north = String(A * 40 + 9); let east = String(B * 100 + 34); while (north.length < 3) { north = '0' + north; } while (east.length < 3) { east = '0' + east; } let coord = "N 53° 56." + north + " E 010°08." + east + ""; document.write(coord + "<br />"); } }
Im Gegensatz zum ersten Beispiel sind hier zwei Schleifen verschachtelt, die 250(25*10) Ergebnisse liefern. Auf die Karte übertragen ist das zwar gerade noch händelbar, ergibt aber viele Wegpunkte in Wegesnähe.
Beispiel 3: Sechs Variablen: N 53 56.ABC E 010 08.DEF
Hier gibt es kein Beispiel, aus zwei einfachen Gründen: Zum Einen würde ein Javascript, das in 6 verschachtelten Schleifen jeweils von 0 bis 9 zählt, 10*10*10*10*10*10, also eine Million Zeilen Text erzeugen, was mit hoher Wahrscheinlichkeit den Browser und vielleicht noch den ganzen Rechner lahmlegen würde. Zum Anderen bringt es absolut nichts, jede Koordinate in einem Planquadrat zu kennen. Da müssen wir dann einzelne Werte eben doch ermitteln, wie hier beschrieben.
In diesem Sinne: (Trotzdem) bis bald im Wald und happy hunting!