示例#1
0
文件: maze.py 项目: junkerW/pyMaze
    def __insert_paths(self):

        treated_cells = 1
        pos = Position(2, 2)
        self.__set_treated(pos)
        while treated_cells < self.cells:
            self.bar.update(treated_cells)
            # print('Pos: {} {}'.format(pos.col, pos.row))
            # self.show()
            while self.__in_dead_end(pos):
                # self.show()
                pos = self.__step_back(pos)
                # print('Stepping back to {} {}'.format(pos.col, pos.row))
            dir = Direction()

            if not self.__behind_wall_is_treated(pos, dir):
                pos.change(dir)
                self.__break_wall(pos)
                pos.change(dir)
                self.__set_treated(pos)
                treated_cells += 1
        return self.maze
示例#2
0
文件: maze.py 项目: junkerW/pyMaze
 def __behind_wall_is_treated(self, pos, dir):
     check_pos = Position(col=pos.col, row=pos.row, direction=dir)
     check_pos.change(dir)
     return self.__get_field(check_pos).is_treated()