210 likes | 340 Views
In this lesson, we will explore definite and counted loops, essential constructs in visual programming that enable repetitive actions in animations, simulations, and games. We'll learn how loops allow processes, like a bunny hopping to broccoli multiple times, to run efficiently. This topic covers the mechanics of loops, how to implement them in your code using simple instructions, and ways to enhance animations with nested loops. By understanding these concepts, you can streamline coding tasks and create more dynamic visual experiences.
E N D
CS320n –Visual Programming Definite / Counted Loops (Slides 7-1) Thanks to Wanda Dann, Steve Cooper, and Susan Rodger for slide ideas.
What We Will Do Today • Learn how what definite loops are and how to use them in a program Definite / Counted Loops
Repetition • In many kinds of animations, especially simulations and games, some actions happen again and again. • Example: Gallery games where targets appear randomly on screen and are caught or shot down, only to appear elsewhere in the scene • Actions are made to happen again and again by running an animation instruction (or a method) more than once Definite / Counted Loops
Computers are Fast • This is why we use computers. • The number of instructions a CPU can carry out is mind boggling • Intel Processor: 3.20 gigahertz. • CPU doing 3,200,000,000 instructions per second. • Simple instructions like adding two numbers, looking up the value of a variable • Lots of simple instructions can so quickly can accomplish a lot • 3D animations, working with DNA, complex simulations. Definite / Counted Loops
Example • A bunny sneaks into a garden and wants to eat the broccoli. The bunny will need to hop several times to get to the broccoli. Definite / Counted Loops
bunny.hop Definite / Counted Loops
bunny.hop • Makes bunny hop up and down, making a sound and traveling forward 0.8 meters • Code on next slide • How do we get the bunny to hop enough times to get over to the broccoli? Definite / Counted Loops
One solution • Does this work? • Are there any problems with it? Definite / Counted Loops
Counted Loop • A counted loop is an alternative way to repetitive code • Repeats instructions a counted number of times • One of the commands available in Alice Definite / Counted Loops
Code for Loops • The loop instruction executes a definite number of times, specified by a count. (Set when insert loop) • Using a loop instruction • saves time when coding • is convenient, easy to change count • can use a function that returns a number in place of the count Definite / Counted Loops
Modify the Bunny Animation • Make the bunny hop over to a broccoli and eat it • Then hop to next broccoli and eat it • move broccoli so not all together • only do with 3 broccoli • fairly easy to expand to more broccoli Definite / Counted Loops
Infinity times… • If “Infinity times” is selected for a loop, this means the loop will run until the program is shut down Definite / Counted Loops
Example 1: Add a bunny • Add a bunny to the broccoli scene • this bunny should jump up and down while the other bunny eats all the broccoli Definite / Counted Loops
Does this Work? Definite / Counted Loops
How Do We fix This? • Get both bunnies to move • one definitely (the one that eats the broccoli) • one indefinitely (the one that hops up and down until the movie stops?) Definite / Counted Loops
Example 2: Carousel • To make the carousel go round continuously in an amusement park world: Definite / Counted Loops
More complicated loops • What can be placed in a loop? • any number of other commands • including other loops • a loop within a loop • this is a called a nested loop • Example in book: a double ferris wheel Definite / Counted Loops
An example of nested loops The whole Ferris wheel will rotate clockwise, while the two inner wheels will rotate counterclockwise. The inner wheels should perform 2 revolutions for each outer loop revolution. Definite / Counted Loops
Rotating each of the wheels Rotating the outer wheel 10 times Rotating the inner wheels 2 times Definite / Counted Loops
The Complete Program The two loops structures, inner wheel loop nested within the outer wheel loop. How many times does the inner loop execute? Definite / Counted Loops
Using a Function for Count • A loop count can be computed by calling a function that returns a number value. • The loop instruction automatically rounds the returned value to the nearest whole number. Definite / Counted Loops