;;; Scheme Recursive Art Contest Entry ;;; ;;; Please do not include your name or personal info in this file. ;;; ;;; Title: So many languages! ;;; ;;; Description: ;;; Python, only time will tell ;;; if you're sequel to SQL ;;; or, like Lisp, just a prequel. (define (char x y c code) (if (null? code) () (begin (pixel (+ x (car (car code))) (- y (car (cdr (car code)))) c) (char x y c (cdr code))))) (define a '((0 0)(1 0)(2 0)(3 0)(4 0)(0 1)(4 1)(0 2)(1 2)(2 2)(3 2)(4 2)(0 3)(4 3)(0 4)(4 4))) (define b '((0 0)(1 0)(2 0)(3 0)(0 1)(4 1)(0 2)(1 2)(2 2)(3 2)(0 3)(4 3)(0 4)(1 4)(2 4)(3 4))) (define c '((1 0)(2 0)(3 0)(4 0)(0 1)(0 2)(0 3)(1 4)(2 4)(3 4)(4 4))) (define d '((0 0)(1 0)(2 0)(3 0)(0 1)(4 1)(0 2)(4 2)(0 3)(4 3)(0 4)(1 4)(2 4)(3 4))) (define e '((0 0)(1 0)(2 0)(3 0)(4 0)(0 1)(0 2)(1 2)(2 2)(3 2)(4 2)(0 3)(0 4)(1 4)(2 4)(3 4)(4 4))) (define f '((0 0)(1 0)(2 0)(3 0)(4 0)(0 1)(0 2)(1 2)(2 2)(3 2)(4 2)(0 3)(0 4))) (define g '((0 0)(1 0)(2 0)(3 0)(4 0)(0 1)(0 2)(2 2)(3 2)(4 2)(0 3)(4 3)(0 4)(1 4)(2 4)(3 4)(4 4))) (define h '((0 0)(4 0)(0 1)(4 1)(0 2)(1 2)(2 2)(3 2)(4 2)(0 3)(4 3)(0 4)(4 4))) (define i '((0 0)(1 0)(2 0)(3 0)(4 0)(2 1)(2 2)(2 3)(0 4)(1 4)(2 4)(3 4)(4 4))) (define j '((0 0)(1 0)(2 0)(3 0)(4 0)(3 1)(3 2)(0 3)(3 3)(1 4)(2 4))) (define k '((0 0)(4 0)(0 1)(3 1)(0 2)(1 2)(2 2)(0 3)(3 3)(0 4)(4 4))) (define l '((0 0)(0 1)(0 2)(0 3)(0 4)(1 4)(2 4)(3 4)(4 4))) (define m '((0 0)(4 0)(0 1)(1 1)(3 1)(4 1)(0 2)(2 2)(4 2)(0 3)(4 3)(0 4)(4 4))) (define n '((0 0)(4 0)(0 1)(1 1)(4 1)(0 2)(2 2)(4 2)(0 3)(3 3)(4 3)(0 4)(4 4))) (define o '((1 0)(2 0)(3 0)(0 1)(4 1)(0 2)(4 2)(0 3)(4 3)(1 4)(2 4)(3 4))) (define p '((0 0)(1 0)(2 0)(3 0)(0 1)(4 1)(0 2)(1 2)(2 2)(3 2)(0 3)(0 4))) (define q '((1 0)(2 0)(3 0)(0 1)(4 1)(0 2)(4 2)(1 3)(2 3)(3 3)(3 4)(4 4))) (define r '((0 0)(1 0)(2 0)(3 0)(0 1)(4 1)(0 2)(1 2)(2 2)(3 2)(0 3)(3 3)(0 4)(4 4))) (define s '((0 0)(1 0)(2 0)(3 0)(4 0)(0 1)(0 2)(1 2)(2 2)(3 2)(4 2)(4 3)(0 4)(1 4)(2 4)(3 4)(4 4))) (define t '((0 0)(1 0)(2 0)(3 0)(4 0)(2 1)(2 2)(2 3)(2 4))) (define u '((0 0)(4 0)(0 1)(4 1)(0 2)(4 2)(0 3)(4 3)(1 4)(2 4)(3 4))) (define v '((0 0)(4 0)(0 1)(4 1)(1 2)(3 2)(1 3)(3 3)(2 4))) (define w '((0 0)(2 0)(4 0)(0 1)(2 1)(4 1)(0 2)(2 2)(4 2)(0 3)(2 3)(4 3)(1 4)(3 4))) (define x '((0 0)(4 0)(1 1)(3 1)(2 2)(1 3)(3 3)(0 4)(4 4))) (define y '((0 0)(4 0)(0 1)(4 1)(1 2)(3 2)(2 3)(2 4))) (define z '((0 0)(1 0)(2 0)(3 0)(4 0)(3 1)(2 2)(1 3)(0 4)(1 4)(2 4)(3 4)(4 4))) (define (drawit lst xo yo co) (if (not (null? lst)) (begin (char xo yo (car co) (eval (car lst))) (drawit (cdr lst) (+ xo 10) yo (cdr-stream co))))) (define colorz (cons-stream "red" (cons-stream "yellow" (cons-stream "blue" (cons-stream "orange" (cons-stream "green" (cons-stream "gray" (cons-stream "brown" (cons-stream "black" colorz))))))))) (define (permute lst xo yo co) (if (not (or (null? lst) (null? (cdr lst)))) (begin (drawit lst xo yo co) (permute (cdr lst) xo (- yo 10) (cdr-stream (cdr-stream co)))))) (define (draw) (permute '(p y t h o n p y t h o n p y t h o n p y t h o n p y t h o n p y t h o n p y t h o n s c h e m e s c h e m e s c h e m e s c h e m e s q l s q l s q l s q l p y t h o n p y t h o n p y t h o n p y t h o n p y t h o n p y t h o n p y t h o n p y t h o n s c h e m e s c h e m e s c h e m e s c h e m e s q l s q l s q l s q l p y t h o n ) 1 674 colorz) (exitonclick)) ; Please leave this last line alone. You may add additional procedures above ; this line. (draw)