(define draw-face (lambda (val1 val2 val3) (set-bgcolor YELLOW) (let ((image (create-image 256 256))) (set-fgcolor BLACK) (set-brush "Circle (07)") (select-ellipse image REPLACE (+ 40 val1) 50 (- 175 (* 2 val1)) 150) (fill-bgcolor image) (stroke image) (select-nothing image) (set-bgcolor RED) (set-brush "Circle (05)") (select-ellipse image REPLACE 90 150 65 28) (select-ellipse image SUBTRACT 73 138 130 37) (stroke image) (fill-bgcolor image) (select-nothing image) (set-bgcolor (list-ref (list BLUE GREEN COPPER GREY BROWN DIM_GREY STEEL_BLUE PALE_BLUE DARK_BROWN VERY_DARK_BROWN) val2)) (select-ellipse image REPLACE 87 100 20 30) (select-ellipse image ADD 145 100 20 30) (fill-bgcolor image) (select-nothing image) (set-brush (list-ref (list "Circle (03)" "Circle (05)" "Circle Fuzzy (03)" "Felt Pen" "Calligraphic Brush") (modulo val3 5))) (if (< val3 5) (begin (select-ellipse image REPLACE 76 50 35 35) (select-ellipse image ADD 116 52 35 35) (select-ellipse image ADD 154 53 35 35) (select-ellipse image SUBTRACT 81 51 20 22) (select-ellipse image SUBTRACT 118 55 20 22) (select-ellipse image SUBTRACT 155 57 20 22) (stroke image) (select-nothing image)) (begin (line image 100 57 80 98) (line image 112 52 128 82) (line image 136 55 174 78))) (show-image image))))