Minor improvements all over the place
							parent
							
								
									b8b23249a0
								
							
						
					
					
						commit
						c00f788d27
					
				
							
								
								
									
										18
									
								
								lambdaV.py
								
								
								
								
							
							
						
						
									
										18
									
								
								lambdaV.py
								
								
								
								
							|  | @ -15,7 +15,7 @@ | |||
| # version 3 along with this program. | ||||
| # If not, see https://www.gnu.org/licenses/gpl-3.0.en.html | ||||
| 
 | ||||
| import re | ||||
| import re, time | ||||
| 
 | ||||
| debug_mode = False | ||||
| 
 | ||||
|  | @ -51,6 +51,8 @@ goal  = '$' | |||
| 
 | ||||
| cursor_position = [0, 0] | ||||
| 
 | ||||
| command_delay = 0.3 | ||||
| 
 | ||||
| def clear_field(): | ||||
|     field = [ | ||||
|         " _________________ ", | ||||
|  | @ -66,6 +68,7 @@ def clear_field(): | |||
|     ] | ||||
| 
 | ||||
| def draw_field(): | ||||
|     print("\033[2J\033[H") | ||||
|     for row in range(len(field)): | ||||
|         for column in range(len(field[row])): | ||||
|             if column==cursor_position[0] and row==cursor_position[1]: | ||||
|  | @ -85,6 +88,7 @@ def run_code(parsed_code): | |||
|         if not result=="": | ||||
|             return result | ||||
|         draw_field() | ||||
|         time.sleep(command_delay) | ||||
|     return "" | ||||
| 
 | ||||
| 
 | ||||
|  | @ -136,7 +140,7 @@ def condition_on_apple(inverted): | |||
| # return value: "" or error message | ||||
| def command_step(): | ||||
|     if condition_in_front_of_wall(False): | ||||
|         return "You walked into a wall." | ||||
|         return "You stepped into a wall." | ||||
| 
 | ||||
|     if condition_facing_north(False): | ||||
|         cursor_position[1] = cursor_position[1]-1 | ||||
|  | @ -334,7 +338,7 @@ def parse_code(code, allowed_commands, allowed_conditions, unformatted_code=True | |||
|             elif next_command == "take": | ||||
|                 parsed_code[0].append(command_take) | ||||
|             elif next_command == "repeat": | ||||
|                 return [[], [], next_space, "Syntax error: Condition missing", code] | ||||
|                 return [[], [], next_space, "Syntax error: Number of repetitions missing", code] | ||||
|             elif next_command == "while": | ||||
|                 return [[], [], next_space, "Syntax error: Condition missing", code] | ||||
|             elif next_command == "if": | ||||
|  | @ -476,5 +480,13 @@ def evaluate_parser_result(parsed_code): | |||
|     #TODO: check if goal reached | ||||
|     return "Success!" | ||||
| 
 | ||||
| 
 | ||||
| def debug_setup(): | ||||
|     global cursor_position | ||||
|     cursor_position = [1,1] | ||||
|     global cursor_current | ||||
|     cursor_current = cursor_south | ||||
|     draw_field() | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     pass | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 BodgeMaster
						BodgeMaster