code: def extract_possible_actions(self, state_key):
          '''
          Concreat method.
  
          Args:
              state_key       The key of state. this value is point in map.
  
          Returns:
              [(x, y)]
  
          '''
          x, y = state_key
          if self.__map_arr[y][x] == self.__wall_label:
              raise ValueError("It is the wall. (x, y)=(%d, %d)" % (x, y))
  
          around_map = [(x, y-1), (x, y+1), (x-1, y), (x+1, y)]
          possible_actoins_list = [(_x, _y) for _x, _y in around_map if self.__map_arr[_y][_x] != self.__wall_label and self.__map_arr[_y][_x] != self.__start_point_label]
          return possible_actoins_lisf extract_possible_actions(self, state_key):
          '''
          Concreat method.
  
          Args:
              state_key       The key of state. this value is point in map.
  
          Returns:
              [(x, y)]
  
          '''
          x, y = state_key
          if self.__map_arr[y][x] == self.__wall_label:
              raise ValueError("It is the wall. (x, y)=(%d, %d)" % (x, y))
  
          around_map = [(x, y-1), (x, y+1), (x-1, y), (x+1, y)]
          possible_actoins_list = [(_x, _y) for _x, _y in around_map if self.__map_arr[_y][_x] != self.__wall_label and self.__map_arr[_y][_x] != self.__start_point_label]
          return possible_actoins_list
docs: Concreat method.
  
          Args:
              state_key       The key of state. this value is point in map.
  
          Returns:
              [(x, y)]