diff --git a/src/misc.py b/src/misc.py index 8d1a4dbe7ec12058aff43da89845d515f2be8e20..24d9b0dea4c58689fa7c39f8204a49048480e39a 100644 --- a/src/misc.py +++ b/src/misc.py @@ -765,11 +765,12 @@ def calc_trash_distances(data_manager, roomba_only=False): _calc_trash_distances() -def calc_traveling_salesman(data_manager, calc_new=True, debug=False): +def calc_traveling_salesman(data_manager, calc_new=True, total_move_reset=True, debug=False): """ Calculates the approximately-ideal overall path to visit all trash tiles. :param data_manager: Data manager data structure. Consolidates useful program data to one location. :param calc_new: Bool indicating if previously calculated path data should be discarded. Such as wall entity update. + :param total_move_reset: Bool indicating if "total moves counter" should reset. """ logger.debug('calc_traveling_salesman()') @@ -790,6 +791,7 @@ def calc_traveling_salesman(data_manager, calc_new=True, debug=False): if calc_new: data_manager.ideal_overall_path = calculated_path data_manager.gui_data['optimal_counter'] = curr_total_dist + if total_move_reset: data_manager.gui_data['total_move_counter'] = 0 logger.debug('') diff --git a/src/systems.py b/src/systems.py index a2f5cc8eef292c7744400f622d7e40861d4d759e..ca3088c977e974e43f331aa8b0cb502b8d792b72 100644 --- a/src/systems.py +++ b/src/systems.py @@ -230,7 +230,7 @@ class AbstractMovementSystem(ABC): # Recalculate path distances for new roomba location. calc_trash_distances(self.data_manager, roomba_only=(not roomba_failed)) - calc_traveling_salesman(self.data_manager, calc_new=roomba_failed) + calc_traveling_salesman(self.data_manager, calc_new=roomba_failed, total_move_reset=False) # Update for a movement. self.data_manager.gui_data['total_move_counter'] += 1