Ich habe mir in den Kopf gesetzt, Rekursion mit C64 Basic ohne lokale Variablen hinzubekmmen und dazu meine mit Mike 's Hilfe erstellte Maschinensprache-Erweiterung für Punkte und Linien ziehen zu verwenden.
Vor langer Zeit ist ein Mine Sweeper Klon von mir deswegen nicht so geworden wie ich es eigentlich haben wollte, ich wusste mir zu der Zeit halt noch nicht anders zu helfen, heute stehen die Chancen besser.
Das Rekursionsbeispiel ist ein Sirpinski-Dreieck. Wer mag, per Drag and Drop das D64 in VICE ziehen und autostarten. Eine Rekursionstiefe > 6 macht optisch keinen Sinn, ist aber möglich. Mit Space-Taste kommt man raus nach dem Zeichnen und kann mit "run" neustarten. Der Trick ist, die verwendeten lokalen Variablen für die Unteraufrufe global zu lassen (geht ja nicht anders), aber nach jedem rekursiven Unterprogrammaufruf den Vorgängerzustand der lokalen Variablen wiederherzustellen.
Die Zeichnungspräzision könnte wohl höher sein wenn ich vor dem Zeichnen die Dezimalkoordinaten runden würde statt hart Integer abzuschneiden, aber es ging mir ja primär um den Machbarkeitsnachweis für mich selbst, ich wollte eigentlich gar nichts für Publikum machen.
Naja - hat mir jedenfalls Freude gemacht und es gibt ja noch weitere Anwendungsbereiche: Minesweeper, Koch-Kurve, Koch-Flocke, Drachenkurve, Mandelbrot, etc.
Viele Grüße,
Byteb.
Edit:
Und weil ich schon dabei bin, ich hatte mich kürzlich für die Kaprekar-Konstante interessiert und ein Basic-Programm dazu geschrieben. Hängt im Anhang.