Implement condition functions
							parent
							
								
									70456794a4
								
							
						
					
					
						commit
						cf311ae3fa
					
				
							
								
								
									
										51
									
								
								lambdaV.py
								
								
								
								
							
							
						
						
									
										51
									
								
								lambdaV.py
								
								
								
								
							|  | @ -74,30 +74,51 @@ def draw_field(): | ||||||
|                 print(field[row][column], end="") |                 print(field[row][column], end="") | ||||||
|         print("") |         print("") | ||||||
| 
 | 
 | ||||||
| def condition_in_front_of_wall(inverted): |  | ||||||
|     return False |  | ||||||
| 
 |  | ||||||
| def condition_goal_reached(inverted): |  | ||||||
|     return False |  | ||||||
| 
 |  | ||||||
| def condition_on_apple(inverted): |  | ||||||
|     return False |  | ||||||
| 
 | 
 | ||||||
| def condition_facing_north(inverted): | def condition_facing_north(inverted): | ||||||
|     return False |     if inverted: | ||||||
|  |         return not cursor_current == cursor_north | ||||||
|  |     return cursor_current == cursor_north | ||||||
| 
 | 
 | ||||||
| def condition_facing_south(inverted): | def condition_facing_south(inverted): | ||||||
|     return False |     if inverted: | ||||||
|  |         return not cursor_current == cursor_south | ||||||
|  |     return cursor_current == cursor_south | ||||||
| 
 | 
 | ||||||
| def condition_facing_east(inverted): | def condition_facing_east(inverted): | ||||||
|     return False |     if inverted: | ||||||
|  |         return not cursor_current == cursor_east | ||||||
|  |     return cursor_current == cursor_east | ||||||
| 
 | 
 | ||||||
| def condition_facing_west(inverted): | def condition_facing_west(inverted): | ||||||
|     return False |     if inverted: | ||||||
|  |         return not cursor_current == cursor_west | ||||||
|  |     return cursor_current == cursor_west | ||||||
| 
 | 
 | ||||||
| # condition prefixed with ! | def condition_in_front_of_wall(inverted): | ||||||
| def modifier_not(condition): |     if condition_facing_north(False): | ||||||
|     return condition(true) |         result = field[cursor_position[1]-1][cursor_position[0]]==wall or field[cursor_position[1]-1][cursor_position[0]]=='_' | ||||||
|  |     elif condition_facing_south(False): | ||||||
|  |         result = field[cursor_position[1]+1][cursor_position[0]]==wall or field[cursor_position[1]+1][cursor_position[0]]=='¯' | ||||||
|  |     elif condition_facing_east(False): | ||||||
|  |         result = field[cursor_position[1]][cursor_position[0]+1]==wall or field[cursor_position[1]][cursor_position[0]+1]=='|' | ||||||
|  |     elif condition_facing_west(False): | ||||||
|  |         result = field[cursor_position[1]][cursor_position[0]-1]==wall or field[cursor_position[1]][cursor_position[0]-1]=='|' | ||||||
|  |     else: | ||||||
|  |         result = False | ||||||
|  |     if inverted: | ||||||
|  |         return not result | ||||||
|  |     return result | ||||||
|  | 
 | ||||||
|  | def condition_goal_reached(inverted): | ||||||
|  |     if inverted: | ||||||
|  |         return not field[cursor_position[1]][cursor_position[2]]==goal | ||||||
|  |     return field[cursor_position[1]][cursor_position[2]]==goal | ||||||
|  | 
 | ||||||
|  | def condition_on_apple(inverted): | ||||||
|  |     if inverted: | ||||||
|  |         return not field[cursor_position[1]][cursor_position[2]]==apple | ||||||
|  |     return field[cursor_position[1]][cursor_position[2]]==apple | ||||||
| 
 | 
 | ||||||
| # return value: "" or error message | # return value: "" or error message | ||||||
| def command_step(): | def command_step(): | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 BodgeMaster
						BodgeMaster