from AI.decision_tree import * from src.dimensions import * from src.sprites import * class Plant(pygame.sprite.Sprite): def __init__(self, field, species): super(Plant, self).__init__() self.species = species if self.species == "wheat": self.growth_speed = 1.5 self.humidity_needed = 2 self.img0 = wheat_img_0 self.img1 = wheat_img_1 self.img2 = wheat_img_2 self.img3 = wheat_img_3 elif self.species == "potato": self.growth_speed = 1 self.humidity_needed = 1 self.img0 = potato_img_0 self.img1 = potato_img_1 self.img2 = potato_img_2 self.img3 = potato_img_3 elif self.species == "strawberry": self.growth_speed = 0.8 self.humidity_needed = 1 self.img0 = strawberry_img_0 self.img1 = strawberry_img_1 self.img2 = strawberry_img_2 self.img3 = strawberry_img_3 self.surf = self.img0 self.position = field.position self.field = field self.rect = self.surf.get_rect( topleft=((MARGIN + WIDTH) * self.position[0] + MARGIN, (MARGIN + HEIGHT) * self.position[1] + MARGIN)) self.growth = 0 self.is_healthy = True field.planted = True self.tickscount = 0 self.ticks = 0 def dtree(self): decision_tree(self) def update(self): if self.growth == 0: self.surf = self.img0 if self.growth == 1: self.surf = self.img1 if self.growth == 2: self.surf = self.img2 if self.growth == 3: self.surf = self.img3 def grow(self): if self.dtree() == 1: self.growth += 1 self.ticks = 0 elif self.dtree() == -1: self.growth -= 1 self.ticks = 0 if self.growth > 4: self.growth = 4 if self.growth < 0: self.growth = 0 self.update() def tick(self): self.tickscount += 1 if self.tickscount >= 25: self.tickscount = 0 self.ticks = 1