session 10 alice hands on slides - > code4loop; · • click on value type of the parameter, and...
TRANSCRIPT
Session 10 Alice Hands On Slides
>_ {Code4Loop};Roochir Purani
Download Alice 3.2!
• You can get it at Alice.org
• Click downloads > Get Alice 3.1 or 3.2
• Select an installer for your operating system.
When you’ve got it running…• You’ll see a screen like this:
• Select Grass, then click OK
The Interface
v Scene View
^ The Methods Panel
Code Editor Panel
The Scene View
• The scene view at the top left gives a view of our world.
• Right now it’s just an empty swamp, but we’re about to add dragons, witches, and more!
Making a Scene• Click on Setup Scene at the bottom right of the scene view to add objects
to your scene.
Making a Scene• Now you’ll see the interface for adding objects
• The scene view is still there, but now you’ll see a list of object galleries at the bottom
• Objects are sorted by the way they move (flyers, swimmers, etc.), or by theme.
Making a Scene• There’s also a pane on the
right that will let us move and change objects once we add them.
Move
Change
Making a Scene• Now, click the Browse Gallery By Group tab above the list of galleries so
we can add in a bunch of “fantasy” objects.
Start with a new world• Add a bunny, a camel, and several animals of
different heights, spread around the world
• I picked bunny, camel, chicken, fox, peacock, caiman– any animals will do but make sure you have some tall animals.
Problem
• The bunny wants to visit each animal where “visit” means: the bunny and the animal face each other, the bunny moves close in front of it, the bunny says “hi” and then the bunny jumps over it. However, the bunny can only jump 1 meter high.
Parts of the Tutorial
• Part 1: Bunny visit each friend
• Part 2: Bunny either go around or jump over
• Part 3: Create an event to click on animal to visit
Part 1: bunny visitcamel
• Create a “bunny” method called visit for the bunny to visit the camel
Part 1: bunny visit camel• At the top of the method editor, click on Add a Parameter.
• A parameter is a piece of information that helps the method work. Inthis case, the information we want to know is which friend the bunnyis visiting (the camel), so name the parameter FriendToVisit
Part 1: bunny visit camel
• Click on value type of the parameter, and find the SModel in the object tree. Click OK .
• The bunny visit method should now look like this:
Part 1: bunny visit camel
• Now, you try to add the following code:
– Bunny turns to face the friendToVisit
– friendToVisit turns to face the bunny
– Bunny moves forward 1 meter
Enter the following code• The bunny turns to visit the friendToVisit and moves
toward it.
• To test it out, add “this.bunny.visit” to myFirstMethod, pick the camel as FriendToVisit, and PLAY
How to move the bunny all the way to
the camel• Click on bunny, click on Functions.
• Click and drag “this distance to”, (choose FriendToVisit) on top of the 1 meter.
Resulting in….
• Click Play
• Yikes, The bunny goes into the camel!
• We want the bunny to stop 2 meters in front of the camel (make sure the camel is more than 2 m away).
Use Math and subtract 2
• Click on white arrow
• Select “math”, then “minus sign” then “2”
Resulting in the followingcode
•The bunny will stop two meters in front of the center of the camel…
•Try out the code!
Next add a greeting and jumpover
• Have the bunny say a greeting
• Then have the bunny jump over the camel– The bunny must jump up
– The bunny must jump 1m to the camel, plus the camel’s depth, plus another 1m past the camel• Total distance: 2 + camel’s depth
• Find camel’s depth in the camel functions…
– The bunny jumps down
(code on the next page)
Add the remaining code Change “when the world starts” to
bunny.visit and “Play”
Go to myFirstMethod, and have the bunny visit all of their animal friends!
Add another parameter of type String so bunny can
give a different greeting to each animal
• Click on the tab for bunny.visit first
• Click on “add parameter”
• The type is “TextString” since the bunny will say worlds
•The name is
“greeting”
The result is…
• Now click and drag “greeting” over the phrase the bunny says “Hello”
• Result is:
Back to MyFirstMethod, addgreetings
• Replace “greeting=unset” to a different greeting for each animal.
• Then Click Play
Part 2: Going around or overfriend
• bunny can only jump 1 meter high
• If friend is shorter than 1 meter, it is ok to jump over
• If friend is 1 meter or taller, then go around them
First drag in an If/Else from the bottom of the window, placing after the “say”
Select “true”, “Relational DecimalNumber”, less than “<“ symbol,
and select 0.5 for the first number and 1 for the second number.
Using functions, replace 0.5 with the FriendToVisit’sheight
Move the bunny jump over code and put after the if. Then add code after
the else to “go around”.Then Play
Part 3 – create an event to visit the friend clicked on
• To stop the movie from playing as is, go to InitializeEventListeners, and delete myFirstMethod from sceneActivated. You can add it back in later.
Click on Add Event Listener, Mouse, and
“addMouseClickOnObjectListener”
Drag over the visit code into the do in order and select any animal as friendToVisit.
Drag “getModelAtMouseLocation”
over the animal
Now click “play” and click on different animals, but not the bunny…
• The bunny will go visit the animal you click on.
• Click on another animal and it will go visit that animal.
Exporting to a MOVIE File
Click on File Menu, Then Upload to Youtube. This will ask you to record the movie and you can recordthe interactions.
Exporting to a Movie file
• After recording the movie with user interaction, you can export the file to a video
• Or upload to the youtube.
Great Work!