1 / 23

CS320n –Visual Programming

CS320n –Visual Programming. Indefinite Loops (Slides 7-2). Thanks to Wanda Dann, Steve Cooper, and Susan Rodger for slide ideas. What We Will Do Today. Learn about indefinite loops (while) Learn about event loops Look at a case study involving loops. Repetition.

halia
Download Presentation

CS320n –Visual Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS320n –Visual Programming Indefinite Loops (Slides 7-2) Thanks to Wanda Dann, Steve Cooper, and Susan Rodger for slide ideas.

  2. What We Will Do Today • Learn about indefinite loops (while) • Learn about event loops • Look at a case study involving loops Indefinite Loops

  3. Repetition • Sometimes don’t know or can’t computer exactly how many times a set of instructions are repeated • Stopping is based on some condition (a boolean) • Examples: • Game of Chess, how many moves until win • Stop: when markers are in a check mate position • The bunny world. Bunny two jump up and down until Bunny one done eating. • Actually could roughly calculate this based on distances Indefinite Loops

  4. Indefinite Repetition • In programs where a count of repetitions is not known (indefinite), we can use one of two repetition control mechanisms: • While statement (today) • Recursion (next time) Indefinite Loops

  5. While statement • While some condition is true • execute statements 1 time, go and recheck condition • To write a While statement, you need to know the condition that determines whether the loop will be repeated. Indefinite Loops

  6. Example • In the garden scene from last time • bunny one went around and ate up the food • bunny two hopped in place forever • what if we want bunny two to hop until bunny one is done eating all the food? • in other words we want bunny two to hop while what is true? Indefinite Loops

  7. Original Version Indefinite Loops

  8. Change to Garden World • What condition can we check to determine if bunny two should hop again or stop? Indefinite Loops

  9. Example Two • A chase scene • hungry shark chasing fleeing goldfish • repeat: fish swim away from shark and shark swim toward fish • shark swim distance a little more than fish swim distance • eventually shark will catch up with fish Indefinite Loops

  10. Storyboard • World.chase while goldfish more than 0.5 meters from shark Do in order shark point at goldfish Do together shark swim (toward goldfish) goldfish flee (away from shark) resolve chase (shark eat goldfish or goldfish eat shark) Indefinite Loops

  11. World.chase methods to be written: top down design Indefinite Loops

  12. Will the loop end? • What does it depend on? Indefinite Loops

  13. Ending the Loop • Assume the goldfish and the shark move a random distance • make the shark move forward between 0.1 and 0.6 meters • make the goldfish move between 0.0 and 0.3 meters • Shark will eventually catch up, and the loop will end. • not sure how many steps it will take, but the shark will eventually catch the goldfish Indefinite Loops

  14. goldfish.flee Indefinite Loops

  15. goldfish.random Motion Will the goldfish ever move backwards? How could the random motion be made more realistic? Indefinite Loops

  16. Shark.swim • Shark pointed in correct direction • move random distance Indefinite Loops

  17. The loop will end • Geometrically, the fish can never move more than 0.52 meters away • the distance formula • The shark has a distance advantage and will eventually catch up. The loop will end. 0.52 0.3 0.3 0.3 Indefinite Loops

  18. General “Rule of Thumb” • As a general rule, a While loop should be written so the loop will eventually end. • Requires that statements within the loop change the conditions of the world such that the condition for the While statement will eventually become false. • If the While loop never ends, it is an infinite while loop. Indefinite Loops

  19. Begin – During – End Events • From chapter 7 tips and techniques Indefinite Loops

  20. Storyboard • Helicopter circling the rabbit on the island • rabbit turns to look at the helicopter as long as the helicopter is in front of him • no “Exorcist” rabbit • 2 repeated actions • helicopter circling • rabbit moving head • when rabbit can no longer see helicopter turn to look at camera Indefinite Loops

  21. While something is true Indefinite Loops

  22. Begin – During - End • Selecting the event “While Something is True” creates 3 options • begin: something done when event becomes true • during: something done while event is true • end: what to do when event is no longer true Indefinite Loops

  23. Completed World Indefinite Loops

More Related