You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							26 lines
						
					
					
						
							913 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							26 lines
						
					
					
						
							913 B
						
					
					
				
								function robotOnGrid() {
							 | 
						|
									
							 | 
						|
									// robot starts in the lower left corner
							 | 
						|
									int robotX := 1; int robotY := 20;
							 | 
						|
								
							 | 
						|
									// janitor starts in the grid middle
							 | 
						|
									int janitorX := ceil(20 / 2); int janitorY := ceil(20 / 2);
							 | 
						|
								
							 | 
						|
									// iterates as long as the robot is not in the upper right corner
							 | 
						|
									while(!(robotX = 20 & robotY = 1)) {
							 | 
						|
								
							 | 
						|
										// robot perfoms one step at max each iteration
							 | 
						|
										// checks whether we can go to the right and the janitor is not there
							 | 
						|
										if(robotX < 20 & !((janitorX = robotX + 1) & (janitorY = robotY))) {
							 | 
						|
											robotX := robotX + 1;
							 | 
						|
										}
							 | 
						|
										// checks whether we can go up and the janitor is not there
							 | 
						|
										if(robotX = 20 & !((janitorX = robotX) & (janitorY = robotY - 1))) {
							 | 
						|
											robotY := robotY - 1;
							 | 
						|
										}
							 | 
						|
								
							 | 
						|
										// moves the janitor randomly in one direction, not limited by any borders
							 | 
						|
										{janitorX := janitorX + 1;}[0.25]{{janitorX := janitorX - 1;}[1/3]{{janitorY := janitorY + 1;}[0.375]{janitorY := janitorY - 1;}}}
							 | 
						|
								
							 | 
						|
									}
							 | 
						|
								}
							 |