import glob2 import pygame import random from Field import Field from Global_variables import Global_variables as G_var from Package_types import Package_types import math class Package(Field): def __init__(self, window, x, y): Field.__init__(self, window, x, y) self.mark_image = self.get_marking_photo() self.type = random.choice(list(Package_types)) self.is_placed = False def get_marking_photo(self): file_path_type = ["resources/package_markings/*.jpg"] images = glob2.glob(random.choice(file_path_type)) random_image = random.choice(images) print(random_image) return random_image def draw(self): self.color = self.get_package_color(self.type) block = pygame.Rect(self.x * G_var().RECT_SIZE, self.y * G_var().RECT_SIZE, G_var().RECT_SIZE, G_var().RECT_SIZE) pygame.draw.rect(self.window, self.color, block) def get_package_color(self, package_type): color = (100, 50, 20) if package_type == Package_types.fragile: color = (255, 57, 32) elif package_type == Package_types.priority: color = (10, 34, 255) return color def choose_the_closest_shelf(self, shelves): array = [] for shelf in shelves: if shelf.type == self.type: segment = math.sqrt((shelf.x - self.x)**2 + (shelf.y - self.y)**2) array.append((segment, shelf)) array.sort(key=lambda y: y[0]) print(array) return array[0]