def testNewCoordinatesSouthWest(self): coordinates = Coordinates(STANDARD_X_COORDINATE, STANDARD_Y_COORDINATE) newCoordinate = coordinates.newCoordinates(Direction.SouthWest) self.assertEqual(newCoordinate.x, EXPECTED_X_COORDINATE_SW_MOVEMENT, "Should have decremented 'x'") self.assertEqual(newCoordinate.y, EXPECTED_Y_COORDINATE_SW_MOVEMENT, "Should have incremented 'y'")
def generateAdjacentCoordinates( self, centerCoordinates: Coordinates) -> LRScanCoordinatesList: coordinatesList: LRScanCoordinatesList = LRScanCoordinatesList([]) for direction in Direction: self.logger.debug(f'{direction}') newCoordinates: Coordinates = centerCoordinates.newCoordinates( direction) if newCoordinates.valid() is True: lrScanCoordinates: LRScanCoordinates = LRScanCoordinates() lrScanCoordinates.coordinates = newCoordinates lrScanCoordinates.direction = direction coordinatesList.append(lrScanCoordinates) return coordinatesList
def _evade(self, currentLocation: Coordinates) -> Coordinates: """ Move enemy around to avoid torpedoes Args: currentLocation: Returns: New random coordinates """ while True: pDirection: Direction = self.__randomDirection_() newCoordinates: Coordinates = currentLocation.newCoordinates( pDirection) self._baseEnemyMediatorLogger.debug( f"Random direction={pDirection.name} {currentLocation=} {newCoordinates=}" ) if newCoordinates.valid(): break return newCoordinates
def testNewCoordinatesEast(self): coordinates = Coordinates(STANDARD_X_COORDINATE, STANDARD_Y_COORDINATE) newCoordinate = coordinates.newCoordinates(Direction.East) self.assertEqual(newCoordinate.x, EXPECTED_X_COORDINATE_MOVEMENT_EAST, "Should have incremented 'x'")
def testNewCoordinatesSouth(self): coordinates = Coordinates(STANDARD_X_COORDINATE, STANDARD_Y_COORDINATE) newCoordinate = coordinates.newCoordinates(Direction.South) self.assertEqual(newCoordinate.y, EXPECTED_Y_COORDINATE_MOVEMENT_SOUTH, "Should have incremented 'y'")