Picobot Help

# 
# Hashtag lines are optional comments
#


0 *x** -> E 0
0 *E** -> S 3 
3 ***x -> S 3   
3 ***S -> N 2 
2 x*** -> N 2   

# state 0 with something to the N: go W + into st 1 
# ** This will crash if picobot has a wall to the W! **
2 N*** -> W 1 


# state 1 with nothing to the S: go one step S
1 ***x -> S 1   

# state 1 with something to the S: stay put + into state 0
1 ***S -> W 2   
/*
 * See this URL for lots of information about Picobot:
 *
 *    http://www.cs.hmc.edu/~dodds/Picobot/index.html
 */

2                   // this indicates the map we want to start with

0 xEW* -> N 0		// if in hallway with no options, keep going
//0 *x** -> E 1   	// if you come to an opening on the right, turn       
0 xx** -> E 1
0 xEx* -> N 0		// if you come to an opening on the left, keep going
0 NxW* -> E 1		// if you can't continue, try to turn right
0 NEx* -> W 2		// " ", try to turn left
0 Nxx* -> E 1		// if you can go either, choose right
0 NEWx -> S 3           // if in deadend, turn around


1 Nx*S -> E 1		// if in hallway with no options, keep going
1 *x*x -> S 3   	// if you come to an opening on the right, turn       
1 xx*S -> E 1		// if you come to an opening on the left, keep going
1 NE*x -> S 3		// if you can't continue, try to turn right
1 xE*S -> N 0		// " ", try to turn left
1 xE*x -> S 3		// if you can go either, choose right
1 NExS -> W 2           // if in deadend, turn around


2 N*xS -> W 2		// if in hallway with no options, keep going
2 x*x* -> N 0   	// if you come to an opening on the right, turn       
2 N*xx -> W 2 		// if you come to an opening on the left, keep going
2 x*WS -> N 0		// if you can't continue, try to turn right
2 N*Wx -> S 3		// " ", try to turn left
2 x*Wx -> N 0		// if you can go either, choose right
2 NxWS -> E 1           // if in deadend, turn around


3 *EWx -> S 3		// if in hallway with no options, keep going
3 **xx -> W 2   	// if you come to an opening on the right, turn       
3 *xWx -> S 3		// if you come to an opening on the left, keep going
3 *ExS -> W 2		// if you can't continue, try to turn right
3 *xWS -> E 1		// " ", try to turn left
3 *xxS -> W 2		// if you can go either, choose right
3 xEWS -> N 0           // if in deadend, turn around