CS320n - PowerPoint PPT Presentation

About This Presentation
Title:

CS320n

Description:

in other words we want bunny two to hop while what is true? Visual ... What condition can we check to determine if bunny two should hop again or stop? ... – PowerPoint PPT presentation

Number of Views:115
Avg rating:3.0/5.0
Slides: 24
Provided by: sco1
Category:
Tags: bunny | cs320n

less

Transcript and Presenter's Notes

Title: CS320n


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

3
Repetition
  • Sometimes dont know or cant 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

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)

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.

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?

7
Original Version
8
Change to Garden World
  • What condition can we check to determine if bunny
    two should hop again or stop?

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

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)

11
World.chase
methods to be written top down design
12
Will the loop end?
  • What does it depend on?

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

14
goldfish.flee
15
goldfish.random Motion
Will the goldfish ever move backwards? How could
the random motion be made more realistic?
16
Shark.swim
  • Shark pointed in correct direction
  • move random distance

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
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.

19
Begin During End Events
  • From chapter 7 tips and techniques

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

21
While something is true
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

23
Completed World
Write a Comment
User Comments (0)
About PowerShow.com