Вы находитесь на странице: 1из 25

CS320n Elements of Visual

Programming
Introduction to Alice
Mike Scott
(Slides 1-1)

What We Will Do Today


look at the Alice programming
environment
create some simple programs in Alice

Visual Programmin
g

Introduction to Alice

What is Alice?
Named in honor of Lewis Carrolls (pen
name) Alice in Wonderland
Charles Lutwidge Dodgson was also a
mathematician and logician

A modern programming tool


purpose of tool, learn how to program, write
algorithms
3-D graphics
3-D models of objects

Animation
Objects can be made to move around virtual
world (a simulation or a video game. Simple
Pixar.)
Visual Programmin
g

Introduction to Alice

Computer Programs
General purpose programming languages
can be used for almost any task
Alice is not a general purpose
programming language.
It is an application specific language
designed for a specific task, creating 3D
animations
lots of application specific languages.
Example: language for working with DNA data
Visual Programmin
g

Introduction to Alice

Fundamental Tools

All languages contain these elements


1. list of instructions Pack lunch, pack snack, put
homework in backpack.
2. decision making If I didnt shave yesterday, shave
today.
3. repetition of behavior Do a load of laundry until
there is no more dirty laundry.
4. modularization. Big rocks into little rocks. To do a
load of laundry: gather clothes, get clothes right-side
out, put clothes of similar color into washing
machine
5. Generalization: Solve many different problems with
one set of instructions
6. Compute a result How much is it going to cost to
fill up my car with gas?

Visual Programmin
g

Introduction to Alice

What does Alice run on?


Alice is free.
Alice is written in Java
only working versions are for PCs and Macs
with OSX 10.3 or higher (relatively new, may
still have bugs)
Sorry, no Linux, yet
the book comes with a copy of Alice for
Windows machines
www.alice.org
also on the computers in the CS Elements lab
Visual Programmin
g

Introduction to Alice

Fast Start Up
Can quickly learn to create
a simple animation in a matter of minutes
a non-trivial animation in a few class periods

Can learn to use the Alice interface in a


few class periods if you do a couple of
exercises at home

Visual Programmin
g

Introduction to Alice

Installing Alice
If you want to install Alice on you computer at home
use the CD that comes with the textbook
CD installation is straightforward

download Alice from the web


http://www.alice.org/downloads/authoringtool/
file format is .zip
must unzip file using a program such as winzip

problems? post to newsgroup

Visual Programmin
g

Introduction to Alice

Memory Management
Alice automatically manages memory
But, writing and testing an animation is an
intense load on the computing system
a crash can occur.

Best solution:
Alice (the program) reminds you every so often
so save your work
save your programs often!
if working in lab when you logout the computer is
wiped -> save to your account or to a backup
system such as a memory stick
Visual Programmin
g

Introduction to Alice

The Power of Alice


Automatically keeps track of 3-D objects
what objects are in the virtual world
types of objects
positions of objects in the world

Visual Programmin
g

Introduction to Alice

10

Demo

Starting Alice
Loading a World
Running A World
Saving a World
How to Exit

Visual Programmin
g

Introduction to Alice

11

The World
Alice Programs / Movies take place in a
virtual world
When you start a new world in Alice you
select the background
The world consists
of a sky and the ground
Cant be changed after
creating the world
the world is not infinite
DEMO
(I dont like roller
coasters any more)
Visual Programmin
g

Introduction to Alice

12

Objects in Alice
Objects already exist. Hundreds of them

Visual Programmin
g

Introduction to Alice

13

Program an Object

Visual Programmin
g

Introduction to Alice

14

Where Do Objects Come From?

They are pre built


creating 3D objects is another area of computing and graphic
design

Sources of 3D objects
the local gallery that comes with the software
Alice web gallery

How are objects added to the world?

Visual Programmin
g

Introduction to Alice

15

Adding Objects
Click on the green Add Objects button
World expands and local gallery displayed

Visual Programmin
g

Introduction to Alice

16

Adding Objects
Local gallery divided into a directory based
on subject
add instances of objects to world by
dragging and dropping or
click on object and select add instance option

Visual Programmin
g

Introduction to Alice

17

Objects in the World


Can have multiple instances of objects
from the same class in the World
class: like a cookie cutter
objects: like the cookies

star cookie cutter


star cookie class
Visual Programmin
g

star cookies
star cookie objects
Introduction to Alice

18

Objects in the World

penguin class

Visual Programmin
g

penguin objects in a virtual world

Introduction to Alice

19

Objects in the World


The Objects that are present in the current
world are listed in the Object Tree
The top left panel in the Alice
programming environment
Every world comes with a
light, a camera (point of
view for the movie when
played), and the ground
Visual Programmin
g

Introduction to Alice

20

Object Dimensions
Objects in Alice worlds are 3 dimensional

height
Visual Programmin
g

width
Introduction to Alice

depth
21

Object Position

Objects
are positioned in 3-D space
Have six degrees of freedom (directions of movement)

Visual Programmin
g

Introduction to Alice

22

Objects Know Relative Directions


Yellow box around
penguin is its
bounding box
light blue line is
up/down
pink line is
left/right
dark blue line is
forward backward
DEMO
Visual Programmin
g

Introduction to Alice

23

Exercises
if you want to work at home, install Alice on
your computer
Complete Appendix A, Part 1, using Alice
a walkthrough of using Alice

Complete the tutorials that come with Alice

Visual Programmin
g

Introduction to Alice

24

Starting Tutorials

Visual Programmin
g

Introduction to Alice

25

Вам также может понравиться