You may work in groups of 2 or 3 (preferred) or individually.
At the end of the lab please send me and your group partner(s) all your Scheme files as e-mail attachments. My e-mail is elenam at morris.umn.edu. The subject of your e-mail must be "1301 Lab 6" followed by "Final" or "Not final", depending on whether this is a final submission or you are still working on it. If you need to finish it, make sure to set up a time with your group partner(s) to finish the lab.
Due Friday, October 23rd, at 11:59pm. If you submit the final version during the lab, you are done.
Write a function draw-stairs
that draws a "staircase" of a
given color. More precisely, the function has the following header:
(define (draw-stairs left-upper n width height color)
...
)
where left-upper
is the position of the left-upper corner of the staircase,
n
is the number of steps that remain to be drawn, width
is the width of one stair, height
is the
height of a step, and color
is the color of the staircase.
Below is an example:
(draw-stairs (make-posn 10 10) 8 40 40 'green)
Write a function checker-board
that takes draws an 8-by-8
checker board of two colors. More precisely, the function is defined as
(define (checker-board left-upper n side color1 color2))
Here left-upper
is the position of the left-upper corner of the board, n
is the number of rows that remain to be drawn, side
is the side of a square, color1
is the starting color for the row, and color2
is the alternating color.
The function requires a "helper" function draw-row that draws one row of the board. Write and test the helper function first. Think of what parameters it needs (what is its base case?).