Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming: Simple Control Structures

Similar presentations


Presentation on theme: "Programming: Simple Control Structures"— Presentation transcript:

1 Programming: Simple Control Structures
Alice

2 Control Statements We have been using Do in order and Do together to control the way instructions are executed in your Alice program. Control statements can also be used for conditional execution repetition

3 Conditional Execution
Conditional execution is where some condition is checked and a decision is made about whether a block of the program will be executed. Conditional execution is extremely useful in games simulations real-time controls, e.g. robot systems

4 Example As a simple example of conditional execution, let's revisit the FirstEncounter world. As the robot moves closer, the alien hides behind the rocks. We want to check a condition (is robot to short to over the rock?) and then perform an action based on the whether the condition is true.

5 If/Else In Alice, an If/Else control statement is used to check a condition and make a decision.

6 Storyboard A storyboard design for this conditional statement is:
The condition in an If statement is a Boolean function that yields a true or false value. If spiderRobot is shorter than rock Do in order spiderRobot neck move up spiderRobot neck move down Else Do nothing

7 Demo Ch03Lec2FirstEncounterIfElse
Concepts illustrated in this example program: The condition of an If/Else statement is constructed by using a function that returns a Boolean value (true or false). Do nothing in the Else part of the statement means that if the condition is false, Alice will skip this part and go to the next instruction. Active Learning: students add the code

8 Another Example As another example of conditional execution, let's revisit the Egyptian scene in the Hollywood movie set. The camera angle can mislead our perception of the scene We want to check a condition (is the mummy taller than the pharaoh?) and then perform an action based on the whether the condition is true.

9 Storyboard In our example, we can demonstrate which object is the tallest by having that object turn around. A storyboard design for this action is: The condition in an If statement is a Boolean function returning a Boolean (true or false) value. If mummy is taller than pharaoh mummy turns 1 revolution Else pharaoh turns 1 revolution

10 Demo Ch03Lec2mummyIfElse Active Learning: students add the code

11 A different scenario In some cases, the built-in functions are not sufficient for a condition that we want to check. For example, the built-in function is shorter than compares the heights of two objects. Suppose, however, that we wanted to compare the robot's height to 2 meters. How can we compare the height of the robot to a specific measurement (2 meters)?

12 Relational Operators In situations where you need to write your own comparison, you can use a relational operator. Relational operators are provided in the World's built-in functions.

13 Demo Ch03Lec2FirstEncounterRelationalOps
Concepts illustrated in this example program: Relational operations are defined using the world's built-in functions. Placeholder values are first selected for the "a" and "b" components of the relational expression. Then the placeholder values are each replaced by either a function or a number. Demonstrate how to construct the relational expression.

14 Another scenario Let’s compare the height of the mummy to a specific measurement (2 meters). Ch03Lec2mummyRelationalOps

15 Need for Repetition The walking action is not realistic: the robot moves forward to the rock ( a distance of several meters) but the legs are simulating a walking action only once.

16 One meter, one step A more realistic action is to move the robot forward one meter for each step made by the legs. But, now the robot is moving forward only 1 meter. This block of code will have to be repeated again and again to animate the robot moving close to the rock.

17 Loop The Loop statement is a simple control structure that provides for repeating an instruction (or block of instructions) a counted number of times.

18 Demo Ch03Lec2FirstEncounterLoop
Active Learning: Students add a loop to repeat the walking action

19 Another Example Let's write code to make the mummy "walk" – a somewhat stilted motion like you would see in an old Hollywood horror film. The code will be more complex because we need to alternate left and right leg motions coordinate leg motions with the body moving forward

20 Storyboard Do in order Do together //move body and left leg
mummy move forward 0.25 meters mummy's left leg move backward mummy's left leg move forward Do together //move body and right leg mummy's right leg move backward mummy's right leg move forward

21 Demo Ch03Lec2mummySimpleSteps
Active Learning: Students create the code to make the mummy perform a stilted walk motion

22 Need for Repetition In this example the mummy takes 1 step forward on each leg. Suppose we want the mummy to take 20 steps forward?

23 Demo Ch03Lec2mummyLoop Active learning: have students add the loop instruction to the mummy code

24 Assignment Read Chapter 3 Section 2 Read Tips & Techniques 3
Simple Control Structures Read Tips & Techniques 3 Engineering Look & Feel (Texture Maps, Fog)

25 Lab Chapter 3 Lab Lec2


Download ppt "Programming: Simple Control Structures"

Similar presentations


Ads by Google