AIprojekt-wozek/Package.py

47 lines
1.5 KiB
Python

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]