From acb231f049d9db3e316831c1a88fb867b3e3e5d3 Mon Sep 17 00:00:00 2001 From: JakubR Date: Wed, 31 Mar 2021 21:56:53 +0200 Subject: [PATCH] added JsonGenerator method for setting agent's starting position, also minor code refactoring --- json_generator.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/json_generator.py b/json_generator.py index 0c15d62..7904030 100644 --- a/json_generator.py +++ b/json_generator.py @@ -11,6 +11,14 @@ class JsonGenerator: starting_row, starting_column = agent_starting_position self.grid["agent_starting_position"] = str(starting_row) + ',' + str(starting_column) + # sets agent's starting position + def set_agent_starting_position(self, position): + # getting position coordinates + starting_row, starting_column = position + + # setting new agent's starting position + self.grid["agent_starting_position"] = str(starting_row) + ',' + str(starting_column) + # overwrites grid field with a new grid with randomized colors and mines def generate_randomized_grid(self, dimensions): # clearing grid field @@ -69,6 +77,7 @@ class JsonGenerator: def add_tile(self, position, color): # getting added/edited tile's index values row, column = position + # creating new tile without a mine self.grid[str(row) + ',' + str(column)] = { "color": color, @@ -127,6 +136,7 @@ class JsonGenerator: def delete_a_mine(self, position): # getting edited tile's index values row, column = position + # removing mine from the edited tile self.grid[str(row) + ',' + str(column)]["mine"] = None @@ -136,7 +146,9 @@ class JsonGenerator: # clears the grid field def clear_tile_dictionary(self): + # clearing grid dict self.grid.clear() + # resetting agents starting position starting_row, starting_column = self.agent_starting_position self.grid["agent_starting_position"] = str(starting_row) + ',' + str(starting_column) @@ -161,9 +173,11 @@ class JsonGenerator: with open(file_path, "r") as input_file: # loading data that was stored in the file previously previous_data = json.load(input_file) + # creating and updating a new grid using it's own grid field new_grid = previous_data new_grid.update(self.grid) + # opening the file for writing with open(file_path, "w") as output_file: # saving the newly created grid