Пример #1
0
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)
Пример #2
0
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