220 likes | 283 Views
ITK 168 Decisions. Dr. Doug Twitchell September 20, 2005. IF. What if I want the robot to pick a thing up if there’s one there, but not pick a thing up if there isn’t?. if. if(bob.canPickThing()){ bob.pickThing(); }. if(<<test>>){ <<list of statements>> }. if.
E N D
ITK 168 Decisions Dr. Doug Twitchell September 20, 2005
IF • What if I want the robot to pick a thing up if there’s one there, but not pick a thing up if there isn’t?
if if(bob.canPickThing()){ bob.pickThing(); } if(<<test>>){ <<list of statements>> }
if if(bob.canPickThing()){ bob.pickThing(); } boolean statement if(<<test>>){ <<list of statements>> }
if if(bob.canPickThing()){ bob.pickThing(); } true or false boolean statement if(<<test>>){ <<list of statements>> }
if • Can I use this to see if there is a wall in front of me?
if if(bob.frontIsClear()){ bob.move(); } bob.turnLeft(); bob.move(); <<previous statements>> if(<<test>>){ <<list of statements>> } <<continue with following>>
if • What if I want it to left if the front isn’t clear?
if if(!bob.frontIsClear()){ bob.turnLeft(); } bob.move(); <<previous statements>> if(<<test>>){ <<list of statements>> } <<continue with following>>
if • Can I check to see if the robot is on a certain street?
if == equal > greater than < less than >= g.t. or equal <= l.t. or equal != not equal if(bob.getStreet == 1){ bob.move(); } if(<<test>>){ <<list of statements>> }
while • what if I want the robot to pick up all of the things in a row
while while(bob.canPickThing()){ bob.pickThing(); bob.move(); } while(<<test>>){ <<list of statements>> }
while while(bob.canPickThing()){ bob.pickThing(); bob.move } true or false boolean statement while(<<test>>){ <<list of statements>> }
while • How about moving the robot until it gets to avenue 50?
while while(bob.getAvenue() < 50){ bob.move } while(<<test>>){ <<list of statements>> }
if…else • What about when want to turn right if wall is in front and turn left otherwise?
if…else if(bob.frontIsClear()){ bob.turnLeft(); } else { bob.turnRight(); } bob.move(); true or false boolean statement if(<<test>>){ <<list of statements>> }
Example • How can we change the street cleaning robots to make it work better with if and/or while statements?