From 1ad8357f0039292b929e66cf703b4314660aded2 Mon Sep 17 00:00:00 2001 From: Viljami Ilola <+@hix.fi> Date: Sat, 16 Mar 2024 11:29:54 +0200 Subject: field slice outline --- src/sliceitoff/field/field.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'src/sliceitoff/field') diff --git a/src/sliceitoff/field/field.py b/src/sliceitoff/field/field.py index c3d1d04..c7ebf81 100644 --- a/src/sliceitoff/field/field.py +++ b/src/sliceitoff/field/field.py @@ -23,16 +23,34 @@ class Field(): y * self.scaling.scale + self.scaling.top, w * self.scaling.scale, h * self.scaling.scale) + + def coordinates_inside_area(self, area, x, y): + if x < area[0]: + return False + if y < area[1]: + return False + if x >= area[0]+area[2]: + return False + if y >= area[1]+area[3]: + return False + return True + + def slice(self, x: int, y: int, direction: bool, thickness: int): + """ Slice one area into two areas """ + # Find the overlapping area + for area in self.areas: + if self.coordinates_inside_area(area, x, y): + break + else: + return False + self.areas.remove(area) + return False def __update_sprites(self): self.sprites.empty() for area in self.areas: self.sprites.add(FieldSprite(self.area_to_rect(area))) - def add_score(self, score_to_add): - self.updated = True - self.score += score_to_add - def get_sprites(self): if self.updated: self.__update_sprites() -- cgit v1.2.3