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:
Once you have created an instance, use the generate() function to
create a maze layout.
>>> mymaze = Maze(10, 10, 0, 0, 9, 9)
>>> mymaze.generate()
>>> mymaze = Maze(10, 10) # create a maze of size 10
>>> mymaze.generate(0, 0, 9, 9) # generate a layout with starting point (0|0) and end point (9|9)
>>> print(mymaze)
"""
@ -264,7 +264,7 @@ class Maze:
return paths, walls
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("Usage:")
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_end, y_end : coordinates of end point")
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
maze = Maze(*[int(arg) for arg in args[1:3]])
if len(args) >= 9:
print("Saving gif frames to {}".format(args[8]))
maze.generate(*[int(arg) for arg in args[3:7]], gif_path=args[8])
maze = Maze(*[int(arg) for arg in args[:2]])
if len(args) >= 8:
print("Saving gif frames to {}".format(args[7]))
maze.generate(*[int(arg) for arg in args[2:6]], gif_path=args[7])
else:
maze.generate(*[int(arg) for arg in args[3:7]])
maze.generate(*[int(arg) for arg in args[2:6]])
print(maze)
paths, walls = maze.get_stats()
print("Paths: {}\nWalls: {}".format(paths, walls))
if len(args) >= 8:
maze.save_image(args[7])
print("Saved maze to {}".format(args[7]))
if len(args) >= 7:
maze.save_image(args[6])
print("Saved maze to {}".format(args[6]))
if __name__ == "__main__":
main(sys.argv)
main(sys.argv[1:])