;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: ;;; ;;; Description: ;;; (define (head) (pendown) (color "#AAAAAA") (begin_fill) (left 90) (forward 9) (right 87) (forward 300) (right 30) (forward 40) (end_fill) (right 152) (forward 334) (left 90) (color "#444444") (begin_fill) (forward 9) (left 88) (forward 300) (left 30) (forward 40) (end_fill) (penup) (setheading 180) (forward 333) (pendown) ) (define (mid) (forward 30) (pendown) (color "#222222") (begin_fill) (left 60) (forward 20) (left 120) (forward 100) (left 120) (forward 20) (left 60) (forward 81) (end_fill) (penup) (left 180) (forward 40) (right 90) (forward 10) ) (define (bottom_round) (pendown) (color "#222222") (begin_fill) (circle 20 360) (end_fill) (color "#444444") (begin_fill) (circle 17 360) (end_fill) (penup) (left 90) (forward 12) (right 90) (pendown) (color "#222222") (begin_fill) (forward 80) (right 180) (forward 80) (right 90) (forward 16) (right 90) (forward 80) (right 90) (forward 16) (end_fill) (penup) ) (define (bottom_square) (pendown) (color "#222222") (begin_fill) (forward 80) (right 180) (forward 80) (right 90) (forward 16) (right 90) (forward 80) (right 90) (forward 16) (end_fill) (define (helper x) (right 90) (forward 10) (right 90) (forward 16) (left 90) (forward 10) (left 90) (forward 16) (cond ((> x 0) (helper (- x 10)))) ) (color "#444444") (helper 30) (penup) (left 90) (forward 60) (right 90) ) (define (sword1) (head) ) (define (sword2) (bottom_round) (mid) (head) ) (define (sword3) (bottom_square) (mid) (head) ) (define (swords sword org angle theta x y) (penup) (setheading org) (setposition x y) (pendown) (cond ((or (< org (- 0 angle)) (> org angle)) (sword)) (else (sword) (swords sword (+ org theta) angle theta (+ (/ theta 5) x) (- y 10))) ) ) (define (rectangle w h x y) (setposition x y) (pendown) (color "#666666") (begin_fill) (forward h) (left 90) (forward w) (left 90) (forward h) (left 90) (forward w) (end_fill) (penup) ) (define (edge w h x y) (setposition x y) (pendown) (color "#222222") (begin_fill) (forward h) (left 90) (forward w) (left 90) (forward h) (left 90) (forward w) (end_fill) (penup) ) (define (white_edge w h x y) (setposition x y) (pendown) (color "#FFFFFF") (begin_fill) (forward h) (left 90) (forward w) (left 90) (forward h) (left 90) (forward w) (end_fill) (penup) ) (define (trapezoid w1 w2 h x y) (penup) (setposition 150 y) (setheading -90) (pendown) (color "#222222") (begin_fill) (forward w1) (left 60) (forward h) (left 120) (forward w2) (left 120) (forward h) (end_fill) (penup) ) (define (throne_base) (setheading 90) (trapezoid 300 360 60 -150 -140) (setheading 180) (rectangle 360 160 -180 -190) (setheading 180) (edge 300 100 -150 -40) (setheading 180) (rectangle 300 2 -150 -130) (setheading 180) (white_edge 360 300 -180 -340) ) (define (throne_back) (swords sword1 0 45 -10 0 0) (swords sword1 0 45 10 0 0) (swords sword1 3 40 -10 0 -100) (swords sword1 3 40 10 0 -100) (swords sword1 6 33 -6 0 -200) (swords sword1 -6 33 6 0 -200) (penup) (setposition 50 80) (setheading 190) (pendown) (sword2) (penup) (setposition -50 80) (setheading 170) (pendown) (sword3) (penup) (setposition 150 70) (setheading -150) (pendown) (sword3) (penup) (setposition -200 30) (setheading 135) (pendown) (sword2) (penup) (setposition 230 -80) (setheading -145) (pendown) (sword3) (penup) (setposition 235 -90) (setheading -120) (pendown) (sword2) (penup) (setposition -230 -80) (setheading 115) (pendown) (sword3) (penup) (setposition -220 -90) (setheading 145) (pendown) (sword2) (penup) ) (define (draw) ; YOUR CODE HERE (speed 10) (throne_back) (throne_base) ) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)