class mazedef __init__(selfmaze_file_name)rows_in_maze columns_in_maze self maze_list [maze_file open(maze_file_name,' 'rows_in_maze for line in maze_filerow_list [col for ch in line[- ]row_list append(chif ch =' 'self start_row rows_in_maze self start_col col col col rows_in_maze rows_in_maze self maze_list append(row_listcolumns_in_maze len(row_listself rows_in_maze rows_in_maze self columns_in_maze columns_in_maze self x_translate columns_in_maze self y_translate rows_in_maze self turtle turtle(self shape('turtle'self wn turtle screen(self wn setworldcoordinates((columns_in_maze (rows_in_maze (columns_in_maze (rows_in_maze def draw_maze(self)self speed( for in range(self rows_in_maze)for in range(self columns_in_maze)if self maze_list[ ][ =obstacleself draw_centered_box( self x_translatey self y_translate'orange'self color('black'self fillcolor('blue'def draw_centered_box(selfxycolor)self up(self goto( self color(colorself fillcolor(colorself setheading( self down(self begin_fill(for in range( ) recursion