Title: CS320n
1CS320n Elements of Visual Programming
- Lists
- Mike Scott
- (Slides 9-1)
Thanks to Wanda Dann, Steve Cooper, and Susan
Rodger for slide ideas.
2Collections
- In some animations, several objects must perform
the same actions - Example
- Cars in lanes from Frogger
- In such situations, it is convenient to
collect all the objects into a group (a
collection) - Major benefit of Lists is we can write code for
each object in the list - rather than separate code for each object
3List
- One way to organize objects into a collection is
to use a list. - We use lists to help us organize things. For
example, - assignments list
- shopping list
- email inbox
- In programming, a list is known as a data
structure. - an object that is used to group other objects
together
4Types of Lists
- In Alice, a list can be a list of numbers or a
list of objects, colors, or other type . - In this session, we will use an example of a list
of objects.
5Example
- Create a List of chickens
- add 5 chicken objects to the world
6Creating a list Step 1
Create the initial world and add five chicken
objects to the world. Then, create a new
world-level variable in the properties panel.
(Why should it be world-level rather than
class-level?)
7Creating a list Step 2
In the popup dialog box, type in a name
select Object type check make a List box
click new item button 5 times to select
each of the 5 chickens, one at
a time
8Resulting List
- No change in the scene
- We have simply added them to a list variable
9Programming with a list
- Now that a list has been created, how do we use
the list in a program? - One of the most powerful operations with a list
is to repeatedly perform some action with each
item in the list. - This is called iteration or "iterating through a
list."
10Iterating through a list
- Iteration can be done in two ways
-
- in order (one at a time)
- all together (simultaneously)
11Example/Demo Iteration in Order
- Have each chicken say hello
- Have each chicken kicks its legs
12The Objects part named X function
- One problem when passing Objects as parameters is
how do I affect a sub part? - If the parameter type is simply Object subparts
are unknown - Same problem with elements of a list
- Use the Objects part named X function
13Part named function
- Get "in order" operation for list
- Drop in a Chicken object
- Pick functions for Chicken Object and drag the
part named function to replace the Chicken object
14Part Named Function
- Select which part
- Pick other and type in name of sub part
15Part Named function
- Replace Chicken object with item_from_chickens
- Final version
16Example / Demo Iteration Together
- Change the previous animation so that the
chickens move their legs together