Alice Workshop Implementation Algorithm Code World.my first method Control blocks Statements (methods, data, more) Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Next Step Problem Statement Understand the problem Test the code Design a solution Implement the design Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Load World Why start with a standard world for active learning? Load from: Presentations/Worlds 3-GoodVibrationsSetUp.a2w Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Do in order By default, statements in the code are performed in order, but you can also create a Do in order code block. Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Control Statements Alice has two fundamental control statements Do in order • perform the actions in sequence Do together • perform the actions simultaneously Copyright 2011 Wanda Dann, Steve Cooper, Don Slater First action statement Copyright 2011 Wanda Dann, Steve Cooper, Don Slater 1. Select object Start by selecting an object in the object tree (or click on the object in the scene) Copyright 2011 Wanda Dann, Steve Cooper, Don Slater 2. Select methods tab In the details panel Tabs Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Properties values of object properties Procedures methods that perform an action Functions methods that return a value 3. Find method tile Scroll down in methods tab Copyright 2011 Wanda Dann, Steve Cooper, Don Slater 4. Drag-n-drop Select data from drop-down menu… “turn to face” needs a target object Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Next Step Problem Statement Understand the problem Test the code Design a solution Implement the design Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Play (Run) Click the Play button Copyright 2011 Wanda Dann, Steve Cooper, Don Slater World.my first method When Play button is clicked, the world’s my first method is executed Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Modify Alice allows some optional information to modify how an action is performed. By default a statement in Alice runs in 1 second. The duration can be changed using more… Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Next action Actually, several actions Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Method? No “vibrate” tile? Method tiles built-in to Alice are simple actions Some models have complex actions defined, e.g., walk For other complex actions, we may create our own Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Decompose How can we create our own “vibrate” method? Decompose a complex action into simple actions garfield.vibrate do together play vibrating sound do in order garfield move up a short distance, quickly garfield move down same distance, quickly Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Create a new method Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Name the method Name should begin with a lowercase letter and have no spaces (use camelCase, if needed) Copyright 2011 Wanda Dann, Steve Cooper, Don Slater garfield.vibrate New method tile and editor tab Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Number pad Select “other” for number pad entry Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Duplicate Hold Ctrl(Alt on Mac) and drag statement down to create a duplicate Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Modify Click drop-down menu to select a different (argument) value Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Test Warning??? Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Call the method Alice must be given an instruction to perform the actions defined in the method. Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Test Does the action performed by garfield appear to be a vibration? Why or why not? Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Revise Design An object that vibrates is oscillating in a rhythmic repetition We need to repeat the action several times garfield.vibrate do together play vibrating sound repeat 5 times do in order garfield move up a short distance, quickly Copyright 2011 Wanda Dann, Steve Cooper, Don Slater garfield move down same distance, quickly Loop Drag in Loop control tile and select “5 times” Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Loop control block Drag code statements into the Loop control block A block of program code that repeats a counted number of times. Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Test Does the action performed by garfield appear to be a vibration? Why or why not? Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Revise #2 Play a sound at the same time…. garfield.vibrate do together play vibration sound loop 5 times garfield moves up a short distance, quickly garfield moves down same distance, quickly Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Import sound World properties panel Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Imported file, timing Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Do together Drag in do together code block Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Play sound Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Nested control blocks Do in order inside do together Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Test Are sound and vibration in sync? Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Wait Useful for synchronizing sound and action Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Save Be sure to save the world every half-hour, or so… Copyright 2011 Wanda Dann, Steve Cooper, Don Slater Textbook More information Coding • Chapter 2, Section 2 Copyright 2011 Wanda Dann, Steve Cooper, Don Slater