;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: Smart Tomcat ;;; ;;; Description: ;;; Blackjack? No! Pinkjack! ;;; Do you want to play pinkjack? ;;; With whom? Smart Tomcat! (define (blackcard x y c) (penup) (goto x (+ 10 y)) (pendown) (begin_fill) (color c) (setheading 225) (forward 25) (circle 12.5 180) (right 165) (forward 12.5) (left 120) (forward 12.5) (left 120) (forward 12.5) (left 15) (left 180) (circle 12.5 180) (forward 25) (end_fill) ) (define (red_card x y c) (pu) (goto x y) (pd) (begin_fill) (color c) (seth 45) (circle -12.5 180) (forward 25) (right 90) (forward 25) (circle -12.5 180) (end_fill)) (define (flower x y c) (pu) (goto (- x 5) (- y 25)) (pd) (begin_fill) (color c) (seth 210) (circle -10 270) (left 165) (circle -10 270) (left 165) (circle -10 270) (left 165) (forward 12) (right 105) (forward 13.033284) (right 105) (forward 12) (end_fill) ) (define (diamond x y c) (penup) (goto x (+ y 10)) (pendown) (begin_fill) (color c) (setheading 150) (forward 25) (right 60) (forward 25) (right 120) (forward 25) (right 60) (forward 25) (end_fill) ) ;------------------------------------------------------------------------------------------------- ;###### nose ####### (define (draw-nose) (setposition -30 0) (color "#5A727B") (begin_fill) (setposition 0 0) (setposition 0 -60) (setposition -30 0) (end_fill) (setposition 0 0) (color "#405055") (begin_fill) (setposition 30 0) (setposition 0 -60) (setposition 0 0) (end_fill) ;;## nose head (penup) (color "#7694A5") (pendown) (begin_fill) (setposition 0 150) (setposition 105 150) (setposition 30 0) (setposition 0 0) (end_fill) (color "#9CB5C0") (begin_fill) (setposition 0 150) (setposition -105 150) (setposition -30 0) (setposition 0 0) (end_fill)) (define (draw-face) (penup) (color "#587A8A") ; draw right face (setposition 30 0) (pendown) (begin_fill) (setposition 225 0) (setposition 67.5 75) (setposition 30 0) (end_fill) (penup) ; draw left face (setposition -30 0) (color "#7694A5") (pendown) (begin_fill) (setposition -67.5 75) (setposition -225 0) (setposition -30 0) (end_fill)) (define (draw-eyes) (penup); draw left eyes (setposition -67.5 75) (pendown) (color "#C9E2B9") (begin_fill) (setposition -105 150) (setposition -225 150) (setposition -67.5 75) (end_fill) (penup); draw right eyes (setposition 67.5 75) (pendown) (begin_fill) (setposition 105 150) (setposition 225 150) (setposition 67.5 75) (end_fill) (penup) ;draw right eyeball (setposition 105 150) (color "#4E906F") (pendown) (begin_fill) (setposition 150 150) (setposition 120 105) (setposition 105 150) (end_fill) (penup) ; draw left eyeball (begin_fill) (pendown) (setposition -150 150) (setposition -120 105) (setposition -105 150) (end_fill)) (define (draw-otherface) (penup) ; draw big face (setposition -225 150) (color "#9CB5C0") (pendown) (begin_fill) (setposition -225 0) (setposition -67.5 75) (end_fill) (penup) (color "#708D9D") (setposition 225 150) (pendown) (begin_fill) (setposition 225 0) (setposition 67.5 75) (end_fill) (penup); draw mouth (setposition 0 -60) (color "#EE6D2E") (pendown) (begin_fill) (setposition 0 -90) (setposition -30 -90) (setposition 0 -60) (end_fill) (color "#DD5B35") (begin_fill) (setposition 30 -90) (setposition 0 -90) (setposition 0 -60) (end_fill) (penup); draw jaw (setposition 0 -90) (color "#587A8A") (pendown) (begin_fill) (setposition 0 -120) (setposition 60 -120) (setposition 30 -90) (setposition 0 -90) (end_fill) (color "#7694A5") (begin_fill) (setposition 0 -120) (setposition -60 -120) (setposition -30 -90) (setposition 0 -90) (end_fill) (penup) ;draw low face (setposition -60 -120) (pendown) (color "#9CB5C0") (begin_fill) (setposition -120 -120) (setposition -120 -60) (setposition 0 -60) (setposition -60 -120) (end_fill) (penup) (setposition 60 -120) (pendown) (color "#7694A5") (begin_fill) (setposition 120 -120) (setposition 120 -60) (setposition 0 -60) (setposition 60 -120) (end_fill) (penup) (setposition 120 -60) (pendown) (color "#9CB5C0") (begin_fill) (setposition 60 0) (setposition 30 0) (setposition 0 -60) (setposition 120 -60) (end_fill) (penup) (setposition -120 -60) (pendown) (color "#B7CAD3") (begin_fill) (setposition -60 0) (setposition -30 0) (setposition 0 -60) (setposition -120 -60) (end_fill) (penup) (color "#9CB5C0") (pendown) (begin_fill) (setposition -180 -60) (setposition -225 0) (setposition -60 0) (setposition -120 -60) (end_fill) (penup) (color "#7694A5") (setposition 180 -60) (pendown) (begin_fill) (setposition 225 0) (setposition 60 0) (setposition 120 -60) (end_fill)) (define (draw-head) (penup) ; draw end face (setposition 180 -60) (color "#587A8A") (pendown) (begin_fill) (setposition 120 -120) (setposition 120 -60) (end_fill) (penup) ; draw end face (setposition -180 -60) (color "#7694A5") (pendown) (begin_fill) (setposition -120 -120) (setposition -120 -60) (end_fill) (penup); draw right head (setposition 225 150) (color "#7694A5") (pendown) (begin_fill) (setposition 120 270) (setposition 0 270) (setposition 105 150) (setposition 225 150) (end_fill) (penup) ; draw left head (setposition -225 150) (color "#9CB5C0") (pendown) (begin_fill) (setposition -120 270) (setposition 0 270) (setposition -105 150) (setposition -225 150) (end_fill) (penup) ; draw in head (setposition -105 150) (color "#B7CAD3") (pendown) (begin_fill) (setposition 0 150) (setposition 0 270) (end_fill) (penup) ; draw in head (setposition 105 150) (color "#9CB5C0") (pendown) (begin_fill) (setposition 0 150) (setposition 0 270) (end_fill) (penup) ; draw right ear (setposition 120 270) (color "#9CB5C0") (begin_fill) (setposition 270 420) (setposition 180 210) (setposition 120 270) (end_fill) (setposition 180 210) (color "#587A8A") (begin_fill) (setposition 225 150) (setposition 270 420) (setposition 180 210) (end_fill) (penup) ; draw left ear (setposition -120 270) (color "#B7CAD3") (begin_fill) (setposition -270 420) (setposition -180 210) (setposition -120 270) (end_fill) (setposition -180 210) (color "#7694A5") (begin_fill) (setposition -225 150) (setposition -270 420) (setposition -180 210) (end_fill)) (define (draw-cat) (speed 300) (draw-nose) (draw-face) (draw-eyes) (draw-otherface) (draw-head)) (define (background m n x y) ;m is the number of rows of hearts. ;n is the number of hearts. ;(/ n m) is the number of columns of hearts. ;Make sure n%m = 0 for evenly distributed hearts. (cond ((= n 0) (pu)) ((= (modulo (- n 1) m) 0) (which-color m n x y) (background m (- n 1) (+ x 120) (+ y (* 90 (- m 1))))) (else (which-color m n x y) (background m (- n 1) x (- y 90))) ) ) (define (which-color m n x y) (cond ((= (modulo n 4) 0) (blackcard x y "#CBBAED")) ((= (modulo n 4) 3) (red_card x y "pink")) ((= (modulo n 4) 2) (flower x y "#CBBAED")) (else (diamond x y "pink")) ) ) (define (writing) (setposition 0 -280) (color "#1a0000") (write '(TOMCAT IS ME!)) ) (define (draw) (speed 300) (background 8 88 -570 340) (draw-cat) (writing) (hideturtle) (exitonclick)) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)