;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: ;;; ;;; Description: ;;; (define (draw) (define left-edge (- 0 (/ (screen_width) 2))) (define (wave startx starty a p l thickness c sh) (cond ((< startx l) (setposition startx (+ starty (* a (sin (+ (* startx p) sh))))) (color c) (pendown) (speed 0) (pensize thickness) (wave (+ startx 20) starty a p l thickness c sh) ) (else (penup) ) ) ) (penup) (define (ocean surface deep sh light shm) (cond ((and (> deep 0) (< 0 light)) (end_fill) (begin_fill) (wave left-edge surface 20 0.02 (screen_width) 5 (rgb light (* light 0.352) (* (- 1 light) 0.5)) sh) (ocean (- surface 20) (- deep 20) (+ sh shm) (- light 0.06) (- shm 0)) ) (else (end_fill) (penup) ) ) ) (define (mushroom light radius centerx centery height) (cond ((and (< centery height) (> light 0)) (penup) (begin_fill) (color (rgb light (* light 0.352) 0)) (setposition (+ centerx radius) centery) (pendown) (circle radius) (end_fill) (mushroom (+ light 0.01) (* 1.2 radius) centerx (+ centery 50) height) (penup) ) (else (penup) (begin_fill) (color (rgb light (* light 0.352) 0)) (setposition centerx centery) (pendown) (circle radius) (end_fill) (penup) (begin_fill) (color (rgb light (* light 0.352) 0)) (setposition (+ centerx (* 2 radius)) centery) (pendown) (circle radius) (end_fill) (penup) (begin_fill) (color (rgb light (* light 0.352) 0)) (setposition (+ centerx (* 3 radius)) centery) (pendown) (circle radius) (end_fill) (penup) (begin_fill) (color (rgb light (* light 0.352) 0)) (setposition (- centerx radius) centery) (pendown) (circle radius) (end_fill) ) ) ) (bgcolor (rgb 1 0.352 0)) (ocean 0 (/ (screen_height) 2) 0 1 150) (mushroom 0.1 30 0 0 400) (exitonclick)) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)