From 48916a4c412b42f7a42568288769c49c8f35a544 Mon Sep 17 00:00:00 2001 From: Garmelon Date: Fri, 12 Feb 2016 21:41:18 +0100 Subject: [PATCH] Implement get_stats function --- maze.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/maze.py b/maze.py index 2946916..2bb6790 100644 --- a/maze.py +++ b/maze.py @@ -92,8 +92,8 @@ class Maze: Replace all occurrences of val1 with another val2. """ - for y in range(self.y): - for x in range(self.x): + for x in range(self.x): + for y in range(self.y): if self.get_cell(x, y) == val1: self.set_cell(x, y, val2) @@ -103,8 +103,8 @@ class Maze: Replace all integers with val. """ - for y in range(self.y): - for x in range(self.x): + for x in range(self.x): + for y in range(self.y): if type(self.get_cell(x, y)) is int: self.set_cell(x, y, val) @@ -199,13 +199,22 @@ class Maze: Count and return the amount of paths and walls in the maze. NOTE: The outside walls aren't a part of the maze. """ - pass + paths = 0 + walls = 0 + for x in range(self.x): + for y in range(self.y): + cell = self.get_cell(x, y) + if type(cell) is int or cell == "o": + paths += 1 + elif cell == "x": + walls += 1 + return paths, walls if __name__ == "__main__": maze = Maze(*[int(arg) for arg in sys.argv[1:3]]) maze.generate(*[int(arg) for arg in sys.argv[3:7]]) print(maze) - stats = maze.get_stats() - print("Paths: {}\nWalls: {}".format(stats["o"], stats["x"])) + paths, walls = maze.get_stats() + print("Paths: {}\nWalls: {}".format(paths, walls)) maze.save_image("maze.png") print("Saved maze as maze.png")