Hallo lulu.
Wie sieht es denn aus, hast Du schon eine (Teil-)Lösung?
Naja, so ganz grob...
Ich werde wahrscheinlich die Koordinaten wirklich immer in die jeweilige Richtung angleichen. Das heißt die Funktion wird rekursiv ablaufen.
Also Beispiel:
Von 2,5 (x1,y1) auf 4,2(x2,y2) (Beispiel oben links)
Als erstes wird festgestellt, dass x erhöht werden muss, da x2 größer als x1 ist.
y muss in jedem Schritt verringert werden (da 5 > 2).
Also, los geht's:
1. Aufruf: 2,5 auf 3,4 möglich? Ja; 2,5 -> 3,4
2. Aufruf: 3,4 auf 4,3 möglich? Nein; Alternative: 3,4 auf 3,3 möglich? Ja; 3,4 -> 3,3
3. Aufruf: 3,3 auf 4,2 möglich? Nein; Alternative: 3,3 auf 3,2 möglich? Ja; 3,3 -> 3,2
4. Aufruf: 3,2 auf 4,2 möglich? Ja; 4,2
Ziel erreicht, Anzahl der gebrauchten Aufrufe: 4
Ich muss natürlich noch eine Möglichkeit finden zu prüfen ob der Zug möglich ist. Aber das dürfte sich ja einrichten lassen in dem man überprüft, ob x gerade oder ungerade ist.
Man liest sich, H2O
--
#*~!:
Download Opera
Selfcode: [ie:% fl:( br:< va:) ls:[ fo:| rl:( n4:( ss:) de:> js:| ch:? sh:( mo:| zu:}](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%25%20fl%3A(%20br%3A%3C%20va%3A)%20ls%3A%5B%20fo%3A%7C%20rl%3A(%20n4%3A(%20ss%3A)%20de%3A%3E%20js%3A%7C%20ch%3A%3F%20sh%3A(%20mo%3A%7C%20zu%3A%7D)
Decoder -
Infos