;;; Your entry for the Scheme contest ;;; ;;; Title: ;;; Project 4: The Aftermath ;;; ;;; Description: ;;; Even when I dream, ;;; .car's and .cdr's everywhere, ;;; Oh God, F!@# My Life. (define (draw_dot) (fd 10)(rt 90)(fd 10)(rt 90)(fd 10)(rt 90)(fd 10)(rt 90) ) (define (draw_c) (fd 34)(rt 90)(fd 5)(lt 90)(fd 5) (rt 90)(fd 5)(lt 90)(fd 5)(rt 90)(fd 25) (rt 90)(fd 5)(lt 90)(fd 5)(rt 90)(fd 5) (lt 90)(fd 5)(rt 90)(fd 5)(rt 90)(fd 10) (rt 90)(fd 5)(lt 90)(fd 15)(lt 90)(fd 5) (rt 90)(fd 5)(lt 90)(fd 24)(lt 90)(fd 5) (rt 90)(fd 5)(lt 90)(fd 15)(lt 90)(fd 5) (rt 90)(fd 10)(rt 90)(fd 5)(rt 90)(fd 5) (lt 90)(fd 5)(rt 90)(fd 5)(lt 90)(fd 5) (rt 90)(fd 25)(rt 90)(fd 5)(lt 90)(fd 5) (rt 90)(fd 5)(lt 90)(fd 5)(rt 90) ) (define (draw_a) (fd 10)(rt 90)(fd 5)(lt 90)(fd 5) (rt 90)(fd 5)(lt 90)(fd 5)(rt 90)(fd 25) (lt 90)(fd 5)(lt 90)(fd 36)(rt 90)(fd 5) (rt 90)(fd 5)(lt 90)(fd 5)(rt 90)(fd 36) (rt 90)(fd 5)(lt 90)(fd 5)(rt 90)(fd 36) (rt 90)(fd 40)(rt 90) (fd 5)(lt 90)(fd 5)(rt 90)(fd 5)(rt 90) (penup)(fd 10)(pendown) (fd 30)(lt 90)(fd 8)(lt 90)(fd 30)(lt 90) (fd 8)(rt 90) (penup)(fd 10)(rt 90)(pendown) ) (define (draw_r) (fd 32)(rt 90)(fd 7)(rt 90)(fd 5)(lt 90) (fd 5)(lt 90)(fd 5)(rt 90)(fd 22)(rt 90) (fd 5)(lt 90)(fd 7)(rt 90)(fd 10)(rt 90) (fd 12)(rt 90)(fd 5)(lt 90)(fd 17)(lt 90) (fd 5)(rt 90)(fd 5)(lt 90)(fd 28)(rt 90) (fd 7)(rt 90)(fd 10) ) (define (draw_d) (fd 22)(rt 90)(fd 5)(lt 90)(fd 5)(rt 90)(fd 5) (lt 90)(fd 5)(rt 90)(fd 23)(rt 90)(fd 5)(lt 90) (fd 5)(lt 90)(fd 28)(rt 90)(fd 10)(rt 90)(fd 65) (rt 90)(fd 36)(rt 90)(fd 5)(lt 90)(fd 5)(rt 90) (fd 5)(lt 90)(fd 5)(rt 90) (rt 90)(penup)(fd 14)(pendown) (fd 22)(lt 90)(fd 18)(lt 90)(fd 10)(rt 90)(fd 5) (lt 90)(fd 15)(lt 90)(fd 5)(rt 90)(fd 5)(lt 90) (fd 13)(lt 90)(fd 5)(rt 90)(fd 5) (rt 90)(penup)(fd 14)(rt 90)(pendown) ) (define (move_realign x) (penup)(rt 90)(fd x)(lt 90)(pendown) ) (define (draw_car) (pendown)(draw_dot)(move_realign 20)(draw_c)(move_realign 50) (draw_a)(move_realign 50)(draw_r)(move_realign 50)(penup) ) (define (draw_cdr) (pendown)(draw_dot)(move_realign 20)(draw_c)(move_realign 50) (draw_d)(move_realign 60)(draw_r)(move_realign 50)(penup) ) (define x_pos -850) (define y_pos 450) (define x 0) (define y 0) (define z 0) (define (set_rgb x_max y_max) (if (< x_pos 0) (set! x (floor (* (/ (* -1 x_pos) x_max) 255))) (set! x (floor (* (/ x_pos x_max) 255)))) (if (< y_pos 0) (set! y (floor (* (/ (* -1 y_pos) (* -1 y_max)) 255))) (set! y (floor (* (/ y_pos (* -1 y_max)) 255)))) (if (> x 255) (set! x 255) '()) (if (> y 255) (set! y 255) '()) (if (eqv? (modulo x_pos 2) 0) (set! z x) (set! z y)) (rgb x y z) ) (define (main x_max y_max) (speed 0) (penup)(setpos x_pos y_pos) (cond ((> x_pos x_max) (begin (set! x_pos -850) (set! y_pos (- y_pos 50)) (main x_max y_max))) ((< y_pos y_max) '()) (else (begin (set! x_pos (+ x_pos 180)) (set_rgb x_max y_max) (draw_car) (set! x_pos (+ x_pos 180)) (set_rgb x_max y_max) (draw_cdr) (main x_max y_max))) ) ) (define (main2 x_max y_max) (speed 10) (penup)(setpos x_pos y_pos) (cond ((> x_pos x_max) (begin (set! x_pos -850) (set! y_pos (- y_pos 50)) (main x_max y_max))) ((< y_pos y_max) '()) (else (begin (set! x_pos (+ x_pos 360)) (draw_car) (draw_cdr) (main x_max y_max))) ) ) ; (draw_dot) ; (draw_c) ; (draw_a) ; (draw_r) ; (draw_d) ; (draw_car) ; (draw_cdr) (main 850 -450)