import time from typing import Tuple import pygame from wyszukiwanie import Stan, SearchSpace # from main import screen, miejsce # screen nie dziaƂa class Wozek(): def __init__(self, y, x): # self.x = 55 # self.y = 55 # self.x_change = 0 # self.y_change = 0 self.height = 64 self.width = 64 self.image = pygame.image.load("images/pusty_wozek.png") # self.screen = pygame.display.set_mode((980, 980)) # self.miejsce = pygame.image.load('images/miejsce_paczek.png') # Credit: Forklift icons created by Smashicons - Flaticon # https://www.flaticon.com/free-icons/forklift #self.__zainicjuj_stan_poczatkowy() self.state = Stan(y, x, 0) def draw(self): from main import screen # screen.blit(self.image, (self.x, self.y)) #screen.blit(self.image, (self.obecnyStan.x, self.obecnyStan.y)) screen.blit(self.image, (self.state.x*98, self.state.y*98)) # storage = ["none"] * 10 storage = [] max_size = 10 def add_element(element, storage, max_size): if len(storage) < max_size: storage.append(element) else: print("I'm full!") def remove_element(storage): if len(storage) > 0: place = storage.pop() return place else: print("I'm empty!") def dynamic_wozek_picture(wozek, storage): if len(storage) == 0: wozek.image = pygame.image.load("images/pusty_wozek.png") elif ((len(storage) > 0) and (len(storage) < 4)): wozek.image = pygame.image.load("images/pelny_wozek_1_crate.png") elif ((len(storage) > 3) and (len(storage) < 10)): wozek.image = pygame.image.load("images/pelny_wozek_2_crates.png") elif (len(storage) == 10): wozek.image = pygame.image.load("images/pelny_wozek_full_3_crates.png") # def __zainicjuj_stan_poczatkowy(self): # from wyszukiwanie import Stan # # self.obecnyStan = Stan(55, 55, 3) # self.obecnyStan = Stan(1, 1, 3) # def _drive(self, actions): # # for action in actions.reverse(): # for action in actions: # self._move(action) # pygame.event.pump() # time.sleep(0.01) # # self.screen.fill((51,51,51)) # removes object trail # # self.screen.blit(self.miejsce, (430, 400)) # self.draw() # pygame.display.flip() def _move(self, action): x = self.state.x y = self.state.y direction = self.state.kierunek # always legal if action == "Left": # self._truck_direction(direction, action) self.state.kierunek = 3 if direction == 0 else direction - 1 # always legal elif action == "Right": # self._truck_direction(direction, action) self.state.kierunek = (direction + 1) % 4 # check if its legal elif action == "Forward": t_x = x + 1 if direction == 1 else (x - 1 if direction == 3 else x) t_y = y - 1 if direction == 0 else (y + 1 if direction == 2 else y) # if self.points_grid[t_y][t_x].is_available: self.state.x = t_x self.state.y = t_y # else: # print("[ MOVE LOG ] - You can't move in that direction!") # def ustaw_wozek_w_kierunku(self, kierunek): # TODO