;; 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 |lab 4|) (read-case-sensitive #t) (teachpacks ((lib "master.ss" "teachpack" "htdp") (lib "draw.ss" "teachpack" "htdp"))) (htdp-settings #(#t constructor repeating-decimal #f #t none #f ((lib "master.ss" "teachpack" "htdp") (lib "draw.ss" "teachpack" "htdp"))))) ;;Define Structure rectangle: Needed to Form Block Letters (define-struct rectangle (position width height color)) ;;Define Function draw-rectangle: Draws Rectangles on the Canvas (define (draw-rectangle a-rectangle) (draw-solid-rect (rectangle-position a-rectangle) (rectangle-width a-rectangle) (rectangle-height a-rectangle) (rectangle-color a-rectangle)) ) ;;Define Function clear-rectangle: Removes Rectangles from the Canvas (define (clear-rectangle a-rectangle) (clear-solid-rect (rectangle-position a-rectangle) (rectangle-width a-rectangle) (rectangle-height a-rectangle) (rectangle-color a-rectangle)) ) ;;Canvas Size (start 340 170) ;Two Rectangles -> Block Letter O (define o1 (make-rectangle (make-posn 10 10) 90 120 'black)) (define o2 (make-rectangle (make-posn 40 40) 30 60 'white)) ;Three Rectangles -> Block Letter M (define m1 (make-rectangle (make-posn 110 10) 120 120 'black)) (define m2 (make-rectangle (make-posn 140 40) 15 90 'white)) (define m3 (make-rectangle (make-posn 185 40) 15 90 'white)) ;Three Rectangles -> Block Letter G (define g1 (make-rectangle (make-posn 240 10) 90 150 'black)) (define g2 (make-rectangle (make-posn 270 40) 30 30 'white)) (define g3 (make-rectangle (make-posn 240 100) 60 30 'white)) ;Drawing the Frame/Animation (draw-rectangle o1) (draw-rectangle o2) (sleep-for-a-while 1) (clear-rectangle o1) (clear-rectangle o2) (draw-rectangle m1) (draw-rectangle m2) (draw-rectangle m3) (sleep-for-a-while 1) (clear-rectangle m1) (clear-rectangle m2) (clear-rectangle m3) (draw-rectangle g1) (draw-rectangle g2) (draw-rectangle g3) (sleep-for-a-while 1) (clear-rectangle g1) (clear-rectangle g2) (clear-rectangle g3) (draw-rectangle o1) (draw-rectangle o2) (sleep-for-a-while .5) (clear-rectangle o1) (clear-rectangle o2) (draw-rectangle m1) (draw-rectangle m2) (draw-rectangle m3) (sleep-for-a-while .5) (clear-rectangle m1) (clear-rectangle m2) (clear-rectangle m3) (draw-rectangle g1) (draw-rectangle g2) (draw-rectangle g3) (sleep-for-a-while .5) (clear-rectangle g1) (clear-rectangle g2) (clear-rectangle g3) (sleep-for-a-while .5) (draw-rectangle o1) (draw-rectangle o2) (draw-rectangle m1) (draw-rectangle m2) (draw-rectangle m3) (draw-rectangle g1) (draw-rectangle g2) (draw-rectangle g3) (sleep-for-a-while .25) (clear-rectangle o1) (clear-rectangle o2) (clear-rectangle m1) (clear-rectangle m2) (clear-rectangle m3) (clear-rectangle g1) (clear-rectangle g2) (clear-rectangle g3) (sleep-for-a-while .25) (draw-rectangle o1) (draw-rectangle o2) (draw-rectangle m1) (draw-rectangle m2) (draw-rectangle m3) (draw-rectangle g1) (draw-rectangle g2) (draw-rectangle g3)