from crop_protection_product import CropProtectionProduct from area.constants import TILE_SIZE, DIRECTION_EAST, DIRECTION_SOUTH, DIRECTION_WEST, DIRECTION_NORTH from area.field import fieldX,fieldY import pygame class Tractor: x = None y = None direction = None #direction takes values in the range of 1 to 4 image = None cypermetryna = CropProtectionProduct("pests", "cereal") diflufenikan = CropProtectionProduct("weeds", "cereal") spirotetramat = CropProtectionProduct("pests", "fruit") oksadiargyl = CropProtectionProduct("weeds", "fruit") spinosad = CropProtectionProduct("pests", "vegetable") metazachlor = CropProtectionProduct("weeds", "vegetable") # etc def __init__(self, x, y, direction): self.x = x self.y = y self.direction = direction self.image = pygame.image.load('resources/images/tractor.png').convert_alpha() def work_on_field(self, tile, ground, plant1): if plant1 is None: tile.randomizeContent() # sprobuj zasadzic cos print("Tarctor planted something") elif plant1.growth_level == 100: tile.plant = None ground.nutrients_level -= 40 ground.water_level -= 40 print("Tractor collected something") else: plant1.try_to_grow(50,50) #mozna dostosowac jeszcze ground.nutrients_level -= 11 ground.water_level -= 11 if ground.pest: # traktor pozbywa sie szkodnikow if plant1.plant_type == self.cypermetryna.plant_type: t = "Tractor used Cypermetryna" elif plant1.plant_type == self.spirotetramat.plant_type: t = "Tractor used Spirotetramat" elif plant1.plant_type == self.spinosad.plant_type: t = "Tractor used Spinosad" print(t) ground.pest = False if ground.weed: # traktor pozbywa siÄ™ chwastow if plant1.plant_type == self.diflufenikan.plant_type: t = "Tractor used Diflufenikan" elif plant1.plant_type == self.oksadiargyl.plant_type: t = "Tractor used Oksadiargyl" elif plant1.plant_type == self.metazachlor.plant_type: t = "Tractor used Metazachlor" print(t) ground.weed = False if ground.water_level < plant1.water_requirements: ground.water_level += 20 print("Tractor watered the plant") if ground.nutrients_level < plant1.nutrients_requirements: ground.nutrients_level += 20 print("Tractor added some nutrients") def move(self): if self.direction == DIRECTION_EAST: self.x = self.x + TILE_SIZE elif self.direction == DIRECTION_WEST: self.x = self.x - TILE_SIZE elif self.direction == DIRECTION_NORTH: self.y = self.y - TILE_SIZE elif self.direction == DIRECTION_SOUTH: self.y = self.y + TILE_SIZE def rotate_to_right(self): if self.direction == 4: self.direction = 1 else: self.direction += 1 self.image = pygame.transform.rotate(self.image, -90) def rotate_to_left(self): if self.direction == 1: self.direction = 4 else: self.direction -= 1 self.image = pygame.transform.rotate(self.image, 90) def draw_tractor(self, win): imageTractor = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) self.x += fieldX self.y += fieldY win.blit(imageTractor, (self.x, self.y)) pygame.display.flip()