From 53bdf776c4f426a92953d2afa76c1f9ee008c02c Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Sat, 18 Mar 2023 22:12:42 +0100 Subject: start with pict language --- coding-exercises/2/44.rkt | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'coding-exercises') diff --git a/coding-exercises/2/44.rkt b/coding-exercises/2/44.rkt index ae76481..9381ac9 100644 --- a/coding-exercises/2/44.rkt +++ b/coding-exercises/2/44.rkt @@ -1,2 +1,29 @@ #lang racket -(require sicp-pic) +(require sicp-pict) + +(define wave2 (beside einstein (flip-vert einstein))) +(define wave4 (below wave2 wave2)) + +(define (right-split painter n) + (if (= n 0) + painter + (let ((smaller (right-split painter (- n 1)))) + (beside smaller (below smaller smaller))))) + +(define (up-split painter n) + (if (= n 0) + painter + (let ((smaller (up-split painter (- n 1)))) + (below smaller (beside smaller smaller))))) + +(define (corner-split painter n) + (if (= n 0) + painter + (let ((up (up-split painter (- n 1))) + (right (right-split painter (- n 1)))) + (let ((top-left (beside up up)) + (bottom-right (below right right)) + (corner (corner-split painter (- n 1)))) + (beside (below painter top-left) + (below bottom-right corner)))))) +(paint (corner-split einstein 4)) -- cgit v1.2.3