def main(): # set opcoes seed = random.random() * 10000 width = 10 #20 height = 10 #12 limite = 5000 # cria o labirinto maze_obj = maze.Maze(width, height, seed) # usa seu algoritmo (gbc063) para sair do labirinto play_maze(maze_obj, limite)
def main(): clock = 0.1 width = 10 #20 height = 10 #12 limite = 999 is_block = True is_color = True block_symbol = u'\u2588'#unicode FullBlock block_symbols = { 'start' : u'O', 'end' : u'X', 'wall_v' : block_symbol, 'wall_h' : block_symbol, 'wall_c' : block_symbol, 'visited' : block_symbol, } color_symbols = { 'empty_color' : COLOR_DEFAULT, 'visited_color' : COLOR_WHITE, # incluido 'wall_color' : COLOR_BLUE, 'head_color' : COLOR_RED, 'tail_color' : COLOR_CYAN, 'start_bg_color' : COLOR_BG_YELLOW, 'end_bg_color' : COLOR_BG_YELLOW, # if color, full block for player too 'head' : block_symbol, 'tail' : block_symbol, 'visited' : block_symbol, # incluido } #default symbols (not unicode or ANSI coloring) symbols = { # default symbols 'start' : 'S', 'end' : 'X', 'wall_v' : '|', 'wall_h' : '-', 'wall_c' : '+', 'head' : '#', 'tail' : 'o', 'empty' : ' ', 'visited' : 'v', } # se quiser desenho em blocos - necessario monospaced font # se nao, comente com # symbols.update(block_symbols) symbols.update(color_symbols) # cria o labirinto # usa seu algoritmo (gbc063) para sair do labirinto """ rodar o labirinto 100 vezes colocar o resultado de cada labirinto em uma classe com a quantidade de passos e movimentos resultantes gerar um boxplot de labirintos x quantidade de passos e labirinto x movivmentos algo do tipo plt.boxplot(labiritos, movimentos) """ with open('labirinto_1.csv', 'w', newline='') as csvfile: fieldnames = ['movimentos', 'caminho_total', 'distancia_ao_final'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() for x in range(0,100): seed = random.random()*10000 maze_obj = maze.Maze(width, height, seed) cMaze = play_maze(maze_obj,limite,clock) writer.writerow({'movimentos': cMaze.total_moves, 'caminho_total': cMaze.steps, 'distancia_ao_final': cMaze.distancia_ao_final}) return