Lecture Notes

Download Report

Transcript Lecture Notes

CS320n – Elements of Visual
Programming
Lists
Mike Scott
(Slides 9-1)
Thanks to Wanda Dann, Steve Cooper, and Susan Rodger
for slide ideas.
Collections
• 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
Visual Programming
Animation Programs
2
List
• 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
Visual Programming
Animation Programs
3
Types 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.
Visual Programming
Animation Programs
4
Example
• Create a List of chickens
• add 5 chicken objects to the world
Visual Programming
Animation Programs
5
Creating a list: Step 1
Create the initial world and
add five chicken objects to
the world.
Then, create a new worldlevel variable in the
properties panel.
(Why should it be world-level
rather than class-level?)
Visual Programming
Animation Programs
6
Creating 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
Visual Programming
Animation Programs
7
Resulting List
• No change in the scene
• We have simply added them to a list
variable
Visual Programming
Animation Programs
8
Programming 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."
Visual Programming
Animation Programs
9
Iterating through a list
• Iteration can be done in two ways:
– in order (one at a time)
– all together (simultaneously)
Visual Programming
Animation Programs
10
Example/Demo: Iteration in Order
• Have each chicken say hello
• Have each chicken kicks its legs
Visual Programming
Animation Programs
11
The “Object’s 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 Object’s part named X function
Visual Programming
Animation Programs
12
Part 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
Visual Programming
Animation Programs
13
Part Named Function
• Select which part
• Pick other and type in name of sub part
Visual Programming
Animation Programs
14
Part Named function
• Replace Chicken object with
item_from_chickens
• Final version
Visual Programming
Animation Programs
15
Example / Demo: Iteration Together
• Change the previous animation so that the
chickens move their legs together
Visual Programming
Animation Programs
16