CSci 1301: Lab 5
You may work in pairs (preferred) or individually.
What to submit
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 5" 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.
When to submit
Due Monday, October 25th, at 11:59pm. If you submit the final
version during the lab, you are done.
Lab task (20 points): drawing movement
Finish the in-class exercise
as specified in comments at the end. Specifically you need to:
- Write a function to generate a list of coordinate shifts randomly
(or use an existing function: we wrote a function to generate a random list
of integers). Carefully think of the range. Pass the range (the
minimum and the maximum values) as parameters to the function.
- Use the function in question 1 to generate a list of x-shifts and
y-shifts. Check your answers. Name these two lists
for future use.
- Use the function
draw-and-clear-all-shapes
to draw
the entire moving face picture.
- Copy all the drawing and clearing functions into a new file.
Define another complex shape instead of a face (such as a car or a house or
any shape of at least three simple shapes). A complex shape is a
list of simple shapes. If you are planning to change the size of the
shape, make sure its size is passed as a parameter.
- Write a function that generates new coordinates for
the shape. It
can be a directional move (a car is driving, a baloon is flying
away) or a change in size (a tree becoming smaller as the viewer
moves away). Keep in mind that new coordinates are relative to the
original (the very first) position of the
shape. You might need two functions: one for x coordinates,
and one for the y coordinates, depending on your moves.
- Use the function
draw-and-clear-all-shapes
to draw
the entire moving picture.
When calling this function, pass to it your complex shape and lists
of x and y coordinates that determine the movement, as generated by
the functions in part 5. You must have at least 5 moves.
Note that you must use the
functions as described above. Drawing the images "by hand" will
not get credit.
- Be creative. The most intersting drawings will get extra credit.
- You may add other drawings to your cartoon (but keep it simple).
There will be no vote, but the most creative drawings will be posted.
CSci 1301
course web site.