;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: Fiesta ;;; ;;; Description: ;;; (define (draw) ;reset pen (define (reset) (setposition 0 0) (setheading 0) ) ;star base (define (star size count rotation) (forward size) (right rotation) (star-sketch size (- count 1) rotation) ) ;star sketch ;times - number of iterations ;count - track of iterations ;size - length of star sides ;rotation - outer angle (define (star-sketch size count rotation) (if (< count 0) (forward size) (star size count rotation) ) ) ;draw dots (define (dot-sketch colour size count distance) (if (< count 0) (circle size) (dot-base colour size count distance) ) ) (define (dot-base colour size count distance) (left 90) (forward distance) (right 90) (color colour) (begin_fill) (circle size) (end_fill) (dot-sketch colour size (- count 1) distance) ) ;draw individual rainbows (define (main-rainbow x) (setposition 317 x) (dot-sketch "purple" 7 40 15) (setposition 317 (+ x 15)) (dot-sketch "blue" 7 40 15) (setposition 317 (+ x 30)) (dot-sketch "cyan" 7 40 15) (setposition 317 (+ x 45)) (dot-sketch "green" 7 40 15) (setposition 317 (+ x 60)) (dot-sketch "yellow" 7 40 15) (setposition 317 (+ x 75)) (dot-sketch "orange" 7 40 15) (setposition 317 (+ x 90)) (dot-sketch "red" 7 40 15) (rainbow-sketch (+ x 105)) ) ;last rainbow rows (define (final-rainbow x) (setposition 317 x) (dot-sketch "purple" 7 40 15) (setposition 317 (+ x 15)) (dot-sketch "blue" 7 40 15) (setposition 317 (+ x 30)) (dot-sketch "cyan" 7 40 15) (setposition 317 (+ x 45)) (dot-sketch "green" 7 40 15) ) ;draw rainbow groups (define (rainbow-sketch x) (if (> x 231) (final-rainbow x) (main-rainbow x) ) ) ;draw diamonds (define (diamond num) (final-diamond) (diamond-sketch (- num 1)) ) (define (final-diamond) (right 100) (forward 65) (begin_fill) (right 95) (forward 40) (left 45) (forward 40) (left 135) (forward 40) (left 45) (forward 40) (end_fill) ) (define (diamond-sketch num) (if (< num 0) (final-diamond) (diamond num) ) ) ;drawing section (speed 10) ;backgroud color (bgcolor "#191970") (penup) ;dots (rainbow-sketch -279) ;stars (reset) (penup) (left 180) (forward 30) (right 90) (forward 80) (right 45) (backward 340) (pendown) (color "black") (begin_fill) (star-sketch 635 11 150) (end_fill) (penup) ;background star (reset) (left 180) (forward 30) (right 90) (forward 80) (right 45) (backward 335) (pendown) (color "purple") (begin_fill) (star-sketch 620 11 150) (end_fill) (penup) ;largest star (reset) (left 90) (forward 90) (right 90) (backward 300) (pendown) (color "blue") (begin_fill) (star-sketch 610 11 150) (end_fill) (penup) ;reset before next star (reset) (left 90) (forward 88) (right 90) (backward 290) (pendown) (color "cyan") (begin_fill) (star-sketch 590 11 150) (end_fill) (penup) ;reset before next star (reset) (left 90) (forward 40) (right 90) (backward 120) (pendown) (color "green") (begin_fill) (star-sketch 250 11 150) (end_fill) (penup) ;reset before next star (reset) (left 90) (forward 18) (right 45) (backward 55) (pendown) (color "yellow") (begin_fill) (star-sketch 100 11 150) (end_fill) (penup) ;reset before next star (reset) (left 90) (forward 15) (right 90) (backward 35) (pendown) (color "orange") (begin_fill) (star-sketch 80 11 150) (end_fill) (penup) ;last star (reset) (left 90) (forward 7.5) (right 90) (backward 5) (pendown) (color "red") (begin_fill) (star-sketch 20 11 150) (end_fill) (penup) ;add green diamonds over the top of the cyan star points (reset) (forward 60) (left 100) (forward 130) (color "green") (begin_fill) (right 45) (forward 40) (left 45) (forward 40) (left 135) (forward 40) (left 45) (forward 40) (end_fill) (diamond-sketch 10) ;hide turtle (hideturtle) (exitonclick)) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)