;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: Anathema ;;; ;;; Description: ;;; (define (draw) (speed 0) (hideturtle) (pendown) (define size 6) ;change size to anything you want (dragon_build '(f x) size) ) (define (dragon_build turtle_instructions n) (if (= n 0) (recursion turtle_instructions) (dragon_build (helper turtle_instructions) (- n 1)) ) ) (define (helper temp) (cond ((null? temp) nil) ((eq? (car temp) 'x) (cons 'x (cons '+ (cons 'y (cons 'f (helper (cdr temp))))))) ((eq? (car temp) 'y) (cons 'f (cons 'x (cons '- (cons 'y (helper (cdr temp))))))) (else (cons (car temp) (helper (cdr temp)))) ) ) (define (recursion ces) (cond ((null? ces) nil) ((eq? (car ces) 'f) ((forward 20) (recursion (cdr ces)))) ((eq? (car ces) '+) ((right 90) (recursion (cdr ces)))) ((eq? (car ces) '-) ((left 90) (recursion (cdr ces)))) (else (recursion (cdr ces))) ) ) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)