diff --git a/tests/test_world.py b/tests/test_world.py index 1e6adb5..744b850 100644 --- a/tests/test_world.py +++ b/tests/test_world.py @@ -83,5 +83,9 @@ def test_tick_all_calls_tick(world): def test_add_object_out_of_bounds(world): entity = DummyEntity(Position(x=1000, y=1000)) - with pytest.raises(ValueError): - world.add_object(entity) + + world.add_object(entity) + + entity = world.get_objects()[0] + + assert entity.position.x == 49 and entity.position.y == 49 diff --git a/world/render_objects.py b/world/render_objects.py index 65f9fb0..f75b9e3 100644 --- a/world/render_objects.py +++ b/world/render_objects.py @@ -170,4 +170,4 @@ class FoodObject(BaseEntity): :return: String representation. """ - return f"FoodObject({self.position}, decay={self.decay:.0f}, decay_rate={self.decay_rate * (1 + (self.neighbors / 10))})" + return f"FoodObject({self.position}, decay={self.decay:.1f}, decay_rate={self.decay_rate * (1 + (self.neighbors / 10))})" diff --git a/world/simulation_interface.py b/world/simulation_interface.py index 278d476..352bc7a 100644 --- a/world/simulation_interface.py +++ b/world/simulation_interface.py @@ -80,7 +80,7 @@ class Camera: zoom_smoothing_factor = 1 - pow(1 - self.zoom_smoothing, deltatime * 60) self.zoom += (self.target_zoom - self.zoom) * zoom_smoothing_factor - zoom_threshold = 0.001 + zoom_threshold = 0.01 if abs(self.zoom - self.target_zoom) < zoom_threshold: self.zoom = self.target_zoom diff --git a/world/world.py b/world/world.py index 3469735..dd3c38e 100644 --- a/world/world.py +++ b/world/world.py @@ -110,7 +110,7 @@ class World: """ # Ensure position is within world bounds, considering a center origin if position.x < -self.world_size[0] / 2 or position.x >= self.world_size[0] / 2 or position.y < - \ - self.world_size[1] / 2 or position.y >= self.world_size[1] / 2: + self.world_size[1] / 2 or position.y >= self.world_size[1] / 2: # force position to be within bounds position.x = max(-self.world_size[0] / 2, min(position.x, self.world_size[0] / 2 - 1)) position.y = max(-self.world_size[1] / 2, min(position.y, self.world_size[1] / 2 - 1))