csci 053 - george washington universityrhyspj/fall08cs53/week2.pdf · left-right (lr): world’s...

69
CSCI 053 Introduction to Software Development Rhys Price Jones Week 2 Methods based on Joel Adams

Upload: others

Post on 22-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

CSCI 053

Introduction to Software Development

Rhys Price Jones

Week 2Methods

based on Joel Adams

Page 2: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

2

Week 2 Objectives

Build world-level methods to help organize a story

into scenes and shots

Build class-level methods to elicit desirable

behaviors from objects

Reuse a class-level method in multiple worlds

Use dummies to reposition the camera for different

shots within a scene

Understand how an object’s position, orientation,

and point of view are determined

Page 3: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

3

Methods

Method: behavior-producing message

Objects have predefined methods for basic tasks

Methods may also be created by Alice

developers

Page 4: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

4

Object Methods - Example

Add a pterodactyl to the world

local-gallery > animals > pterodactyl

click to place

then move to desired position

use methods to set size, position, etc.

Look at the available methods

This pterodactyl cannot flap its wings

Page 5: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Missing a crucial object method!

Object method: defines behavior for a single

object

Illustration: we would like to send flapWings() to

a pterodactyl

Page 6: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Telling pterodactyl to Flap Wings

Select pterodactyl from object tree and

click methods tab

Click create new method and enter

flapWings

Send roll() messages to each of the

dragon’s wings

Invoke flapWings() from my_first_method()

Page 7: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

7

Book does dragon -- not pterodactyl

Page 8: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

8

Adding comments

Page 9: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Two reasons for building methods

To provide an object with additional

behaviors: Object methods

To organize your story into more

manageable pieces: World methods

Page 10: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

10

World Methods for Scenes and Shots

Scene: segment of a story

Shot: part of a scene from a given camera position

User stories can be divided into scenes and shots

A convenient technique for completing a project

Divide and conquer approach to building user

stories

Break a big problem into smaller problems

Solve each of the smaller problems

Page 11: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

11

Methods for Scenes

Scenario: develop a user story with three scenes

Convention for naming methods

Name should be a verb or verb phrase

Name should describe what the method does

Creating the first new method

Select the world object

Click the create new method in the details area

Enter playScene1 in the New Method dialog box

Check new method by sending say() to ground

First test fails because my_first_method() is empty

Page 12: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

12

Methods for Scenes (continued)

Page 13: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

13

Methods for Scenes (continued)

Page 14: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

14

Methods for Scenes (continued)

How to fix the first bug

Click on the tab for my_first_method

Drag a doInOrder control to the top of the pane

Click on world in the object tree

Drag playScene1() into the doInOrder statement

Extend technique used to build playScene1()

Add two methods: playScene2(), playScene3()

New method sends a say() message to the ground

New Methods are called in my_first_method()

Page 15: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

15

Methods for Scenes (continued)

Page 16: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

16

Methods for Scenes (continued)

Page 17: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

17

Methods for Shots

Scenes can be divided into shots

Shots can be further divided into pieces

Reasons for using scenes, shots, and pieces

To create a program that reflects the user story

To create a program that has a modular design

Example of a scheme using scenes and shots

Level 1: my_first_method()

Level 2: three methods for three scenes

Level 3: four methods for four shots in Scene 2

Page 18: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

18

Methods for Shots (continued)

Implementing the scheme

Test each shot in Scene 2 using a say() method

Call the four shot methods from playScene2()

Call three scene methods from my_first_method()

Structure diagram reflects organization of user story

All objects added to world become part of world

Scene and shot messages are stored in the world

World method: affects behavior of multiple objects

Page 19: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

19

Methods for Shots (continued)

Page 20: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

20

Methods for Shots (continued)

Page 21: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Open Alice

open world week2/WorldMethods

add a scene 4

where the ground thinks this is all

pretty dull!

Page 22: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Two reasons for building methods

To provide an object with additional

behaviors: Object methods

To organize your story into more

manageable pieces: World methods

Back to Object Methods

Page 23: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

23

Object Methods Example 2

Telling a Toy Soldier to March

Four actions correspond to four steps for march()

•1 marchLeft;

•2 marchRight;

•3 marchRight;

•4 marchLeft.

Better names

might be

halfLeftStep

halfRightStep

Page 24: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Define

marchLeft() and marchRight() methods

These methods produce reverse behaviors

Incorporate new methods into march()

Call march()four times from

my_first_method()

Page 25: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

25

The marchLeft() method

Page 26: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

26

The march() method

Page 27: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

27

Alice Tip: Reusing Your Work

Copy and paste techniques speed up development

How to use make copy to duplicate statements

Right-click bar in editing area containing method

Select make copy

Example using make copy

Refer to my_first_method() in Toy Soldier

program

Copy three march() statements from first

march()

Page 28: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

28

Alice Tip: Reusing Your Work (continued)

Page 29: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

29

Using the Clipboard

Alice clipboard

Used to copy and paste all statement types

Located in the events area

Using Alice clipboard in Toy Soldier program

Drag doInOrder in my_first_method() to clipboard

Create scene1() method

Drag statement in clipboard to editing area

Drop statement in the scene1() method

Only one statement may be placed in the clipboard

Page 30: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

30

Using the Clipboard (continued)

Page 31: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

31

Using the Clipboard (continued)

Page 32: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Reusing an Object

in a Different World

Alice lets you reuse objects in different

worlds

Reusing operation involves save and

import tasks

Page 33: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Save the pterodactyl object

Rename the pterodactyl object flappingPterodactyl

Right-click flappingPterodactyl, select save

object…

Navigate to appropriate storage location

Click the Save button

saves as FlappingPterodactyl.a2c

note capitalization

Page 34: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

How to import an object

into a new world

Open new world and choose Import from

File menu

Navigate to appropriate location and

select the correct .a2c file

Page 35: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

35

Book’s dragon example

Page 36: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

36

Book’s dragon example

Page 37: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Quizlet

1. True or False: A method name should usually be a verb or verb phrase.

Answer:

2. A method that affects the behavior of multiple objects (like a scene) should be

defined as a(n) ____________________ method.

Answer:

3. A(n) ____________________ method is used to define a complex behavior for a

single object.

Answer:

4. True or False: Comments are ignored by Alice.

Answer:

Page 38: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Quizlet Answers

1. True or False: A method name should usually be a verb or verb phrase.

Answer: True

2. A method that affects the behavior of multiple objects (like a scene) should be

defined as a(n) ____________________ method.

Answer: world

3. A(n) ____________________ method is used to define a complex behavior for a

single object.

Answer: object

4. True or False: Comments are ignored by Alice.

Answer: True

Page 39: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

39

Alice Tip: Using Dummies

Review

Scenes comprise shots

Shots are filmed with the camera in a given

position

Alice places a camera object in every

world

Page 40: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Two techniques for shifting

Use set of motion-related messages, such

as move()

Use an invisible marker called a dummy

Dummy: invisible marker with a point

of view

Dummies are used to change a

camera’s position

Page 41: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Description of a scene

that will use dummies

Wizard intervenes to prevent trolls from

taking a castle

Camera changes position for each of three

shots

Story conforms to structure in Figure 2-11

(less Shot 4)

Page 42: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Setting up the first shot of Scene

Add castle, wizard, and trolls to

build the scene

Click more controls button and then

drop a dummy

Go to object tree and rename dummy

scene2Shot1

Page 43: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

43

Dummies (continued)

Page 44: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

44

Dummies (continued)

Page 45: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Second shot of Scene 2

Using camera controls, zoom in on the

wizard

Press the drop dummy at camera

button

Rename the second dummy,

scene2Shot2

Page 46: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Third shot of Scene 3

First dummy will be reused for this shot

Page 47: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

47

Dummies (continued)

Page 48: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

48

Using setPointOfView()

to Control the Camera

• obj.setPointOfView(obj2)

Changes the position of obj to obj2

Example: camera.setPointOfView(aDummy)

Page 49: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Code for

the first shot of Scene 2

Drag a doInOrder statement to the editing area

Click on camera object in the object tree

Drag setPointOfView()to the editing area

Select scene2Shot1 dummy as target and 0

duration

Add say() statements for each of the trolls

Add a comment to explain the purpose of the method

Page 50: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

50

Scene2Shot1

Page 51: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

51

Scene2Shot1

Page 52: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Code for

the second shot of Scene 2

Set the opacity of the wizard to 0 in properties

pane

Drag wizard’s opacity property to editing area

Set the opacity to 1 in the set() method

Set the camera’s point of view to scene2Shot2

Add a say() statement for the wizard

Page 53: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

53

Scene2Shot2

Page 54: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Code for

the third shot of Scene 2

Reset camera’s point of view to scene2Shot1

Point the three trolls at the wizard

Set message’s onlyAffectYaw

attribute to true

Page 55: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

55

Scene2Shot3

Page 56: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

56

Thinking in 3D

Learn about 3D movement to work in

Alice

Object’s position

Determines object’s location in the 3D

world

Object’s orientation

Determines the way an object is facing

Page 57: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

57

An Object’s Position

Three axes are used to define the world space

LEFT-RIGHT (LR): world’s width dimension

UP-DOWN (UD): world’s height dimension

FORWARD-BACKWARD (FB): world’s depth

Three values specify object’s position in the world

– lr: point along the LR axis

– ud: point along the UD axis

– fb: point along the FB axis

Change an object’s position using move()

Directional values given with respect to object’s axes

Page 58: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

58

An Object’s Position (continued)

Page 59: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

59

An Object’s Position (continued)

Page 60: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

60

An Object's Orientation

Combines yaw, pitch, and roll (provides direction)

Yaw: amount of object’s rotation about the UD-axis

Example: turn(RIGHT, 0.25)

Pitch: amount of object’s rotation about the LR-axis

Example: turn(FORWARD, 0.25)

Roll: amount of object’s rotation about the FB-axis

Example: roll(LEFT, 0.25)

Page 61: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

61

An Object's Orientation (continued)

(pictures are better in the book!)

Page 62: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

62

An Object's Orientation (continued)

Page 63: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

63

An Object's Orientation (continued)

Page 64: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

64

Point of View

Combines object’s position and orientation

Six values in point of view: [(lr, ud, fb),(yaw, pitch,

roll)]

Six values correspond to six degrees of freedom

Methods used to change six values

–move(), turn(), and roll()

Method used to change point of view

–setPointOfView()

Page 65: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

65

Summary

Divide and conquer approach: decomposing a

user story into scenes and shots

Define methods to support modular design and

provide advanced operations

World methods: messages sent to the world

Object methods: define a behavior for a single

object

Comments: remarks that explain program

statements

Page 66: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

66

Summary (continued)

Alice clipboard: stores a copy of any statement

Dummy: invisible marker with position and

orientation (a point of view)

Object’s position: location specified using three

coordinate axes

Object’s orientation comprises yaw, pitch, and

roll

An Alice object has six degrees of freedom

Page 67: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Quizlet

1. From the editing area, you can drag any statement onto the

____________________ and Alice will store a copy of it there for you.

Answer:

2. A(n) ____________________ is an invisible marker in your world that has a

position and an orientation.

Answer:

3. An object’s orientation is its combined ____________________, pitch, and

roll.

Answer:

4. True or False: Alice objects have six degrees of freedom.

Answer:

Page 68: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Quizlet Answers

1. From the editing area, you can drag any statement onto the

____________________ and Alice will store a copy of it there for you.

Answer: clipboard

2. A(n) ____________________ is an invisible marker in your world that has a

position and an orientation.

Answer: dummy

3. An object’s orientation is its combined ____________________, pitch, and

roll.

Answer: yaw

4. True or False: Alice objects have six degrees of freedom.

Answer: True

Page 69: CSCI 053 - George Washington Universityrhyspj/fall08cs53/week2.pdf · LEFT-RIGHT (LR): world’s width dimension UP-DOWN (UD): world’s height dimension FORWARD-BACKWARD (FB): world’s

Discussion

1. How does decomposing a user story into scenes and shots help you

organize the components of an Alice program?

2. What is the difference between a world method and an object

method?

3. What is the value of adding comments to a program?

4. How does the use of dummy markers simplify the process of

changing the camera object's point of view?

5. What is meant by the assertion that an Alice object has six degrees

of freedom?