Martin schrieb:
> erreicht
> wird springt er ein paar pixel zurück
Wie viele? Der Schlüssel zur Lösung ist nämlich genau zu analysieren wie
sich das Zeichnen der Punkte aktuell verhält.
Nach dem uralten Bild oben ist das eine sich deterministisch verhaltende
Funktion f(u, v) die dort am Werk ist. Die gilt es durch Analyse der
Ausgabe zu finden: (x, y) = f(u, v). Und wenn du die hast gilt es die
Umkehrfunktion zu bilden (u, v) = f^-1(x, y). Die implementierst du dann
und rufst sie beim Setzen eines Punktes auf. Das Ergebnis ist:
f(f^-1(x, y)) = ks0108SetDot(f^-1(x, y)) = (x, y)
D.h. die Pixel stehen da wo du sie haben möchtest.
Für den Schönheitspreis gehst du mit dem Wissen von f(u, v) und f^-1(x,
y) den Source-Code von ks0108SetDot() durch und versuchst zu finden wo
ks0108SetDot() versehentlich f(u, v) implementiert hat. Dann reparierst
du ks0108SetDot(). Aber zuerst musst du wissen wie es schief geht, d.h.
f(u, v)