def main(argv): parse_cmdline(argv) print "Flood fill" fp = FieldColorPalette(num_colors=6) pg = PlayGround(12, 12, fp) pg.fill_random() pg.plot() p = pg.copy() solver1 = Solver(p, RandomStrategy(p)) sol1 = solver1.solve() p = pg.copy() solver2 = Solver(p, MostPeripheralsStrategy(p)) sol2 = solver2.solve() p = pg.copy() solver3 = Solver(p, MostUnfloodedColorStrategy(p)) sol3 = solver3.solve() print sol1 print sol2 print sol3 if 'iterations' in config['args']: steps = config['args'].iterations print "Giving Random strategy %s tries" % steps bs = sol1 for i in range(steps): p = pg.copy() solver1 = Solver(p, RandomStrategy(p)) sol = solver1.solve() if sol.better_than(bs): bs = sol print bs