counted for loops in alice n.
Skip this Video
Loading SlideShow in 5 Seconds..
Counted (For) Loops in Alice PowerPoint Presentation
Download Presentation
Counted (For) Loops in Alice

Counted (For) Loops in Alice

226 Views Download Presentation
Download Presentation

Counted (For) Loops in Alice

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Counted (For) Loops in Alice Stephen Cooper Wanda Dann Randy Pausch Barb Ericson July 2009 04-ForLoopsInAlice

  2. Learning Goals • Introduce the concept of a counted loop • A loop that keeps a counter or index • Show how a loop leads to easier to read and shorter code • Show an infinite for loop • Show a nested loop • Show a function call inside a loop 04-ForLoopsInAlice

  3. 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 then disappear only to appear elsewhere in the scene. • Of course, actions are made to happen again and again by running an animation instruction (or a method) more than once 04-ForLoopsInAlice

  4. 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. 04-ForLoopsInAlice

  5. bunny.hop 04-ForLoopsInAlice

  6. One solution • Creating the same instruction again and again is somewhat tedious and the code gets longer and longer. 04-ForLoopsInAlice

  7. Counted Loop • A counted loop is an alternate way to write repetitive code • Repeats instructions a counted number of times 04-ForLoopsInAlice

  8. Demo BunnyHop • Concepts illustrated in this example • The loop instruction executes a definite number of times, specified by a count or index • Using a loop instruction • saves time • is convenient 04-ForLoopsInAlice

  9. Demo Carouselinfinity • Concept illustrated in this example • If “Infinity times” is selected for a loop, this means the loop will run until the program is shut down • This is an infinite loop 04-ForLoopsInAlice

  10. More complicated loops • It is also possible to place a loop statement within another loop statement • This is called a nested loop 04-ForLoopsInAlice

  11. 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. 04-ForLoopsInAlice

  12. Demo FerrisWheel • Concept illustrated in this example • The inner loop runs completely each time the outer loop runs once. • An outer loop that executes 2 times and an inner loop that executes 5 times will actually execute the inner loop 10 times. 04-ForLoopsInAlice

  13. Using a function • 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. • Demo: LoopWithFunctionCall 04-ForLoopsInAlice

  14. Challenges • Copy BunnyHop • So that as the bunny nears the broccoli Papa rabbit (use Hare from the Animals folder) appears at the garden gateway and taps his foot • Have the bunny turn and hop out of the garden • Using a loop • Copy BunnyHop • And have the bunny hop in a square using a nested loop • Loop 4 times • Loop 3 times • Bunny hop • Bunny turn ¼ revolution 04-ForLoopsInAlice

  15. Summary • A for loop is similar to a while loop • But is useful when you need a counter or index in the loop • An infinite loop never stops • Loops can be nested inside of other loops • You can call a function inside the test for a loop 04-ForLoopsInAlice