211 S '05 Assignments Set 1 Set 2 Set 3 Set 4 Set 5 Set 6 Set 7 Set 8 Set 9 Set 10 Set 11 Set 12 Set 13 Set 14

### Problem Set 8

Due date: 3/10 @ 4:30 pm

This problem set covers abstraction and "loops".

HtDP Problems:

19.1.5, 20.2.4 (also see 20.2.2)

The additional problems cover abstraction from the perspective of a game program.

Problem Background:

In a "bumper cars" game, cars randomly move around the screen and bump into other cars. Visually, a car is a red square. The natural data representation of a car is a `Posn` and `Number`; the position represents the cars's top-most point and number represents its side length.

For full credit, use Scheme loops for the final definitions of these functions. Recall that you do not have to use loops for the first draft. Programming is like writing; editing and improving the essay is everything.

Problem 1:

Design the function `autos-create`, which consumes a natural number and produces a list of `Auto`s randomly placed in a 300 x 300 grid.

Problem 2:

Design the function `autos-move`. It consumes a list of `Auto`s and produces one. The purpose is to move each `Auto` randomly on a 300 x 300 scene by 3 pixels per tick of the clock.

Problem 3:

Design the function `collisions?`, which consumes a list of `Auto`s and returns a list of `Auto`s that have collided with at least one other `Auto`.

Optional:

Please explain any problems you had completing this assignment in no more than 30 words.

 last updated on Wednesday, April 13th, 2005 3:57:37pm generated with PLT Scheme -- (Source)