;; The first three lines of this file were inserted by DrScheme. They record metadata ;; about the language level of this file in a form that our tools can easily process. #reader(lib "htdp-beginner-reader.ss" "lang")((modname entry1) (read-case-sensitive #t) (teachpacks ((lib "draw.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "draw.ss" "teachpack" "htdp"))))) (define width 1000) (define height 500) (start width height) ;Wall (draw-solid-rect (make-posn (- width 100) 0) (- width 900) (- height 50) 'brown) ;Floor (draw-solid-rect (make-posn 0 (- height 50)) width 50 'green) ;Smiley Face (define-struct smiley (x-value y-value)) ;Black Circle (define (draw-smiley smiley#) (and (draw-solid-disk (make-posn (smiley-x-value smiley#) (smiley-y-value smiley#)) 80 'black) (clear-solid-disk (make-posn (smiley-x-value smiley#) (smiley-y-value smiley#)) 75) ;Mouth (draw-solid-disk (make-posn (smiley-x-value smiley#) (+ (smiley-y-value smiley#) 5)) 55 'red) (clear-solid-rect (make-posn (- (smiley-x-value smiley#) 55) (- (smiley-y-value smiley#) 50)) 112 55) (clear-solid-disk (make-posn (smiley-x-value smiley#) (+ (smiley-y-value smiley#) 5))50) ;Eyes (draw-solid-disk (make-posn (- (smiley-x-value smiley#) 30) (- (smiley-y-value smiley#) 30)) 5 'black) (draw-solid-disk (make-posn (+ (smiley-x-value smiley#) 30) (- (smiley-y-value smiley#) 30)) 5 'black) ;wait (sleep-for-a-while .5) ;clear smiley (clear-solid-disk (make-posn (smiley-x-value smiley#) (smiley-y-value smiley#)) 80))) ;Frowny Face (define-struct frowny (x-value y-value)) ;Black Circle (define (draw-frowny frowny#) (and (draw-solid-disk (make-posn (frowny-x-value frowny#) (frowny-y-value frowny#)) 80 'black) (clear-solid-disk (make-posn (frowny-x-value frowny#) (frowny-y-value frowny#)) 75) ;Mouth (draw-solid-disk (make-posn (frowny-x-value frowny#) (+ (frowny-y-value frowny#) 30)) 38 'red) (clear-solid-rect (make-posn (- (frowny-x-value frowny#) 40) (+ (frowny-y-value frowny#) 35)) 82 25) (clear-solid-rect (make-posn (- (frowny-x-value frowny#) 30) (+ (frowny-y-value frowny#) 60)) 60 10) (clear-solid-disk (make-posn (frowny-x-value frowny#) (+ (frowny-y-value frowny#) 30)) 33) ;eyes (draw-solid-disk (make-posn (- (frowny-x-value frowny#) 30) (- (frowny-y-value frowny#) 30)) 5 'black) (draw-solid-disk (make-posn (+ (frowny-x-value frowny#) 30) (- (frowny-y-value frowny#) 30)) 5 'black) ;wait (sleep-for-a-while 1) ;clear (clear-solid-disk (make-posn (frowny-x-value frowny#) (frowny-y-value frowny#)) 80))) (define smiley1 (make-smiley 50 170)) (draw-smiley smiley1) (define smiley2 (make-smiley 175 120)) (draw-smiley smiley2) (define smiley3 (make-smiley 400 90)) (draw-smiley smiley3) (define smiley4 (make-smiley 600 120)) (draw-smiley smiley4) (define frowny1 (make-frowny 818 170)) (draw-frowny frowny1) (define frowny2 (make-frowny 600 367)) (draw-frowny frowny2) (define frowny3 (make-frowny 400 200)) (draw-frowny frowny3) (define frowny4 (make-frowny 200 367)) (draw-frowny frowny4) (define frowny5 (make-frowny 0 300)) (draw-frowny frowny5)