;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: Golden Hexadecimal Number Generated According to the Laws of Chance on Blue Canvas ;;; ;;; Description: ;;; Your life resembles ;;; this golden number in blue ;;; filled with randomness. (define (square x y) (pixelsize 100) (pixel x y "#FDB515") ) (define (zero pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (one pos) (square (+ 3 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 2) (square (+ 3 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 4) (square (+ 3 (* 4 pos)) 5) ) (define (two pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (three pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (four pos) (square (+ 3 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (five pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (six pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (seven pos) (square (+ 3 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 2) (square (+ 3 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (eight pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (nine pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (la pos) (square (+ 1 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 3 (* 4 pos)) 4) (square (+ 2 (* 4 pos)) 5) ) (define (lb pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) ) (define (lc pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (ld pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 3 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 3 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) ) (define (le pos) (square (+ 1 (* 4 pos)) 1) (square (+ 2 (* 4 pos)) 1) (square (+ 3 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) (define (lf pos) (square (+ 1 (* 4 pos)) 1) (square (+ 1 (* 4 pos)) 2) (square (+ 1 (* 4 pos)) 3) (square (+ 2 (* 4 pos)) 3) (square (+ 3 (* 4 pos)) 3) (square (+ 1 (* 4 pos)) 4) (square (+ 1 (* 4 pos)) 5) (square (+ 2 (* 4 pos)) 5) (square (+ 3 (* 4 pos)) 5) ) ; This function converts RECURSIVELY a decimal number to a hexadecimal one and displays the hexadecimal number. (define (hex n p) (if (>= p 0) (begin (define remainder (modulo n 16)) (cond ((= remainder 0) (zero p)) ((= remainder 1) (one p)) ((= remainder 2) (two p)) ((= remainder 3) (three p)) ((= remainder 4) (four p)) ((= remainder 5) (five p)) ((= remainder 6) (six p)) ((= remainder 7) (seven p)) ((= remainder 8) (eight p)) ((= remainder 9) (nine p)) ((= remainder 10) (la p)) ((= remainder 11) (lb p)) ((= remainder 12) (lc p)) ((= remainder 13) (ld p)) ((= remainder 14) (le p)) ((= remainder 15) (lf p)) ) (hex (floor (/ n 16)) (- p 1)) ) ) ) (define (draw) ; YOUR CODE HERE (setup 1300 700) (bgcolor) (hex (random 4095) 2) (exitonclick)) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)