"Rekursiv durch die Liste" dauert aber länger, glaubs einfachSkylo hat geschrieben:nee wieso sollte er...
ich kann doch genauso gut rekursiv die liste durchgehen, mehr macht map auch nicht

Code: Alles auswählen
(define axiom-kochflocke '(F - - F - - F))
(define rules-kochflocke '( ( F ( F + F - - F + F ))))
(define axiom-hilbert '(X))
(define rules-hilbert '( (X (- Y F + X F X + F Y -))
(Y (+ X F - Y F Y - F X +))))
(define axiom-levy '( F))
(define rules-levy '( (F (+ F - - F +))))
so inetwa ? :Stumpf.Alex hat geschrieben:Probier mal erstens eine korrekte Liste mit den G, F, +, - zu erzeugen. Dann kannste diese Liste mit map durcharbeiten und dabei jeden Befehl durch einen turtle Befehl ersetzen bzw. da ersetzen ja gleich ausführen bedeutet, ausführen lassen.
Code: Alles auswählen
(turtles)
(define lst' ((F) (G) (+) (-) ))
(define (sre lst)
(cond
((eq? 'F (car lst)) (draw 10))
((eq? 'G (car lst)) (move 10))
((eq? '+ (car lst)) (turn 90))
((eq? '- (car lst)) (turn -90))
(else "none")))
(map sre lst)
hmmm....[Lindenmayer-System:] Basisaxiom: F
Regeln: F := F G + F -
[Iterative Expansion:] Iteration 0: F
Iteration 1: F G + F -
Iteration 2: F G + F - G + F G + F - -
Der Hilbert schlägt bei mir fehl, weil keine Rules für F vorhanden sind - kannst du da mal helfen?Skylo hat geschrieben:übrigens probiert mal diese hier aus ....
Müsst dafür natürlich auch noch - implementieren ... aber das kriegt wohl jeder hinCode: Alles auswählen
(define axiom-kochflocke '(F - - F - - F)) (define rules-kochflocke '( ( F ( F + F - - F + F )))) (define axiom-hilbert '(X)) (define rules-hilbert '( (X (- Y F + X F X + F Y -)) (Y (+ X F - Y F Y - F X +)))) (define axiom-levy '( F)) (define rules-levy '( (F (+ F - - F +))))
Code: Alles auswählen
(expand-ntimes (sub1 num)(expand-once lst loR)
coolSkylo hat geschrieben:übrigens probiert mal diese hier aus ....
Müsst dafür natürlich auch noch - implementieren ... aber das kriegt wohl jeder hinCode: Alles auswählen
(define axiom-kochflocke '(F - - F - - F)) (define rules-kochflocke '( ( F ( F + F - - F + F )))) (define axiom-hilbert '(X)) (define rules-hilbert '( (X (- Y F + X F X + F Y -)) (Y (+ X F - Y F Y - F X +)))) (define axiom-levy '( F)) (define rules-levy '( (F (+ F - - F +))))