From 8666500599191e56e7bf7496712a7d28e13a171a Mon Sep 17 00:00:00 2001 From: shiokoala Date: Tue, 20 Jul 2021 13:18:49 +0900 Subject: [PATCH 1/2] try catch for get_point() --- Waypoint.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Waypoint.py b/Waypoint.py index c9dc41a..5745caf 100644 --- a/Waypoint.py +++ b/Waypoint.py @@ -27,8 +27,12 @@ def add_point(self, latitude, longitude): return def get_point(self): + try: latitude = self.latitude[self._index] longitude = self.longitude[self._index] + except IndexError: + latitude = 0 + longitude = 0 return [latitude, longitude] def next_point(self): From c955913d4c9ce67fd0e2f41470d217f53ff685af Mon Sep 17 00:00:00 2001 From: shiokoala Date: Tue, 20 Jul 2021 13:20:33 +0900 Subject: [PATCH 2/2] make sure index doesn't overflow split next_point() -> update_point() + has_finished() --- Status.py | 6 ++---- Waypoint.py | 18 +++++++++++------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Status.py b/Status.py index 9e59bde..b32158f 100644 --- a/Status.py +++ b/Status.py @@ -116,10 +116,8 @@ def _has_passed_way_point(self): def update_target(self): if self._has_passed_way_point(): - # If the boat has passed all waypoints, key is false - # If not, key is true - key = self.waypoint.next_point() - if not key: + self.waypoint.update_point() + if self.waypoint.has_finished(): print("AN has finished!") self.has_finished = True return diff --git a/Waypoint.py b/Waypoint.py index 5745caf..77cdb94 100644 --- a/Waypoint.py +++ b/Waypoint.py @@ -28,19 +28,23 @@ def add_point(self, latitude, longitude): def get_point(self): try: - latitude = self.latitude[self._index] - longitude = self.longitude[self._index] + latitude = self.latitude[self._index] + longitude = self.longitude[self._index] except IndexError: latitude = 0 longitude = 0 return [latitude, longitude] - def next_point(self): - self._index += 1 - if self._index == self._num: - return False - else: + def update_point(self): + if self._index < self._num - 1: + self._index += 1 + return + + def has_finished(self): + if self._index == self._num - 1: return True + else: + return False if __name__ == "__main__":