In Alice3 you will create virtual 3D worlds. You will add characters, animate them, and interact with the user to create games and tell stories. You will create programs by dragging and dropping graphic tiles. By animating and manipulation the 3D characters in the virtual world, you will learn to use the same programming tools that are typically taught in a beginning programming course.
Select a starting template: There are many templates: grass, sea floor, snow, room, mars, and more.
Code Editor vs. Scene Editor: Add 3D models in setup scene, add code in code view.
Naming conventions: Follow these conventions for the names you give objects, variables and methods.
About the first program: Important things to remember when you create the first program
The first program: Hello World: This video demonstrates how to create your first program.
Open an existing project: Instead of selecting a template choose other tabs: starters, my projects, recent, file.
Look up, Say it slower: Make the witch look up, say the words slower.
Editing the scene: Change the position of the camera, turn and resize objects, delete and undo.
Adding comments: Comments let you make notes for yourself and other programmers
Setting preferences for the code: Set the preferences to see Java style code
Movement in Alice: Video demonstrates the basic principles of object motion and rotation
How Objects see the Virtual World: Video demonstrates move, turn and roll
Directions: Each object has a sense of direction:
forward, backward, left, right, up, backward, and down.
Dolphin tricks: Moves, Turn and Roll: A dolphin moves up, down, left and right
A Dancing Chicken using move, turn and roll: How to add move, turn and roll procedures to the code
Using the Handles to position objects: Use the handles to turn, roll, and move any of the objects in your project.
Camera views: View the scene from starting view, layout, top, side, or front
Camera views: Stacking Boxes: Different views help to stack 3 boxes
How to Change the ground: Change the ground, opacity, add fog, light from above and below
Positioning with One Shots: Use one shots to move, turn and roll in design view
Using Vehicles: A penguin and Egg: Position the egg on penguins feet, then make the penguin the vehicle for the egg
Using Vehicles: Monkey holding Banana: The monkeys thumb is made the vehicle for the banana
What is a variable?: A variable is a named location in memory.
View code as Java or Alice format: Set preference to Java to match the code in the lessons.
Variable types: Variables can hold strings, integers, double, Boolean or any of the gallery classes.
Drill on type: See if you can select the correct type.
Name of variables: Variable names must follow rules, such as no spaces.
Drill on names: See if you can select the valid names.
A jumping chicken: Use a variable for the amount to jump, use it to move up and down.
Assign: giving a new value to a variable: The assign statement is used to give a variable a new value.
Using constants: A constant never changes. Its name is usually all uppercase.
Ask the users name and say hello: Use the function getStringFromUser to ask the user his name,
then say hello using the name entered.
Ask the user how old they are: Use the function getIntegerFromUser to ask the user's age.
Ask the users their favorite food: Wolf asks "What's your favorite food, then says that is his favorite too.
Panda asks how much to turn: We ask the user for a double and the panda spins around that amount.
Posing in Scene Editor: Learn to pose subparts in scene editor using handle tools.
Posing using One Shots: Learn to pose subparts in scene editor using One Shots
Opening and shutting a car door: Open the car door in scene view using one shots
Moving the arms: A biped's two arms are mirror images of each other.
Moving the legs: Legs both descend down from the body
but are mirror images of each other from left to right.
Ask if it is nighttime: The function getBooleanFromUser gives a choice of true or false.
Pass or Fail: Compare a score to 65 and say "Pass" or "Fail"
Child or Adult? Comparing values: Compare age to determine if child or adult
Teenager? Using AND: &&: You are a teenager if age >=13 AND age <= 19
Panda says "Whee!" if turning fast: Panda says "Whee" if amountToTurn > 2.0
Who is taller? Finding larger of 2: Use the function getHeight to find the taller of two animals
A Quiz Game: This video shows how to create a quiz and keep track of number right.
A True/False Question: Using if to tell the user the answer is right.
A drill on Boolean values: See if you can do these comparisons
Control Structures: Control structures control the order in which statements are executed.
Using a count loop to wave: Use count control structure to wave 3 times
Counting with a while loop: A toddler says 1, 2, 3 using a while loop
Count down and blast off!: Counting down with a while loop: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 blast off!
Yeti circles around baby penguin: Uses an endless while loop to circle continuously.
Fish swims back and forth: It's important to start and end in the same position.
Pixie moves between marked locations: Markers let you move to a set position.
Editing markers: Edit object markers: add, delete, re-rename, and change the color
A Walking algorithm: Get into position, take three steps, return to starting position.
Pseudocode: Step by step instructions written in human language.
A game: Rock, Paper, Scissors: Explanation and Pseudocode for the game
Flowcharts: A flowchart is a drawing that shows the steps in an algorithm.
Flowchart for Rock, Paper, Scissors game: The top level flowchart for the rock paper scissors game is shown.
Truth table for Rock, Paper, Scissors game: Video creates a truth table in Excel.
Procedures for top down design: Video shows how to use procedure for top down design.
Loki Waves: Video shows statements for making Loki wave.
A Biped Waving Procedure: Copy the code for Loki waving to create procedure for any biped to wave.
Adding Parameters to a Procedure: Parameters are added so that we can vary the amount to wave and times to wave.
Anyone can walk: Video on making the code for Freya walking into a procedure for any biped to walk.
Counters: Using a while loop to count using counter=counter+1
Cost of 3 Soccer Balls: How much does one soccer ball cost? total=cost * 3
Cost of 3 different items: Finds the total of 3 different values: total=total+cost
Calculate Distance to Move: Distance to move to be next to something
Writing functions: Create a function to get distance to move next to something
Loop to add numbers: A loop to add numbers uses a running total: total=total + number
Loop to add numbers and find smallest and largest: The first value is the smallest and largest so far.
Displaying some random values: Uses textModel to display a random double value between 0 and 1.
Displaying values from 1 to 6: A random integer from 1 to 6 inclusive
A Counting Quiz: How many fish do you see? (Some of the fish are invisible.)
Addition Quiz: Bears ask you to add numbers, then tells how many you got right.
Guess the Aliens number: Loops until the user guesses the number: give hints "too high" and "too low"
A Penguin Jumps Up and Down: Use a random value each time he jumps to make it look more realistic.
A Fish swims back and forth: Random numbers for the distance to swhim makes it more realistic.
Arrays: Ready, Set, Go!: Tortoise says "Ready", "Set", "Go" using array
An array of animals: An array of SJointedModel contains, yeti, tortoise and stuffedTiger
The animals talk: Parallel Arrays: One array contains animals, the other the things they say
Who's the tallest?: People are in an array, a loop is used to find the tallest.
Animals counting: An array of animals take turns to count
Segments of an elephant's trunk as an array: The segments of an elephants trunk, tail and a few other things are an array.
As Seen By: A different point of view: The argument asSeenBy shows a movement through the eyes of another object.
A UFO as the vehicle for the camera: Video show how to assign a vehicle to the camera.
Playing Sounds: Video shows how to import and play any mp3 file.
Using billboards to display images: A UFO lands in Paris using a billboard with a picture of Paris.
A Simple way to change scenes: Create scene procedures and change the ground and visibility of objects.
Adding transitions to scene changes: Transitions are created by fading a billboard in and out.
Cinderella scenes with camera markers: The camera uses camera markers to switch from scene on the left and one on the right.
Uses two different Cinderellas.
Adding properties to a class: Video shows how to add properties to a class.
A dog wags his tail continuously: The addSceneActivationListener makes a dog wag his tail continuously while other actions take place.
Playing a background sound: To play background music use initializeEventListeners
to play sound together with myFirstMethod.
Click on the bear event: The bear says something when the user clicks on him.
Click on several different objects: Each animal says something when clicked
Drag and Drop: Using default model manipulation in event listeners lets the user drag and drop objects at run time.
Collisions: Making something happen when objects collide.
Object Mover and Key press events: Add object mover for the shark so that the user can move it with the arrow keys.
A Timer Event: Using the timer event, the penguin says "Help!" at random intervals.