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

225 Vues Download Presentation
Télécharger la présentation

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