Tweak main function, help and docstrings

This commit is contained in:
Garmelon 2016-02-12 23:01:02 +01:00
parent a92027b1de
commit d04d6db0ea

29
maze.py
View file

@ -19,8 +19,8 @@ class Maze:
Usage: Usage:
Once you have created an instance, use the generate() function to Once you have created an instance, use the generate() function to
create a maze layout. create a maze layout.
>>> mymaze = Maze(10, 10, 0, 0, 9, 9) >>> mymaze = Maze(10, 10) # create a maze of size 10
>>> mymaze.generate() >>> mymaze.generate(0, 0, 9, 9) # generate a layout with starting point (0|0) and end point (9|9)
>>> print(mymaze) >>> print(mymaze)
""" """
@ -264,7 +264,7 @@ class Maze:
return paths, walls return paths, walls
def main(args): def main(args):
if args[1] in ["-h", "--help"]: if len(args) == 0 or args[0] in ["-h", "--help"]:
print("Script to create mazes! Yay!\n") print("Script to create mazes! Yay!\n")
print("Usage:") print("Usage:")
print(" python3 maze.py x_size y_size x_start y_start x_end y_end[ image_path[ gif_path]]\n") print(" python3 maze.py x_size y_size x_start y_start x_end y_end[ image_path[ gif_path]]\n")
@ -272,21 +272,24 @@ def main(args):
print(" x_start, y_start: coordinates of starting point") print(" x_start, y_start: coordinates of starting point")
print(" x_end, y_end : coordinates of end point") print(" x_end, y_end : coordinates of end point")
print(" image_path : image location") print(" image_path : image location")
print(" gif_path : path to folder to store gif frames in") print(" gif_path : path to folder to store gif frames in\n")
print("Examples:")
print(" python3 maze.py 10 10 0 0 9 9 amazemaze.png to_gif/")
print(" python3 maze.py --help")
return return
maze = Maze(*[int(arg) for arg in args[1:3]]) maze = Maze(*[int(arg) for arg in args[:2]])
if len(args) >= 9: if len(args) >= 8:
print("Saving gif frames to {}".format(args[8])) print("Saving gif frames to {}".format(args[7]))
maze.generate(*[int(arg) for arg in args[3:7]], gif_path=args[8]) maze.generate(*[int(arg) for arg in args[2:6]], gif_path=args[7])
else: else:
maze.generate(*[int(arg) for arg in args[3:7]]) maze.generate(*[int(arg) for arg in args[2:6]])
print(maze) print(maze)
paths, walls = maze.get_stats() paths, walls = maze.get_stats()
print("Paths: {}\nWalls: {}".format(paths, walls)) print("Paths: {}\nWalls: {}".format(paths, walls))
if len(args) >= 8: if len(args) >= 7:
maze.save_image(args[7]) maze.save_image(args[6])
print("Saved maze to {}".format(args[7])) print("Saved maze to {}".format(args[6]))
if __name__ == "__main__": if __name__ == "__main__":
main(sys.argv) main(sys.argv[1:])