import sys import time import pygame import regal import paczka from wozek import Wozek from wyszukiwanie import Stan, SearchSpace, Search, GridCellType from typing import Tuple, Dict pygame.init() screen = pygame.display.set_mode((980, 980)) miejsce = pygame.image.load('images/miejsce_paczek.png') pygame.display.set_caption("Inteligentny wozek") icon = pygame.image.load('images/icon.png') pygame.display.set_icon(icon) # def draw(self): # screen.blit(self.image, (self.state.x, self.y)) def main(): wozek = Wozek(0,0) # for event in pygame.event.get(): # if event.type == pygame.QUIT: # sys.exit(0) # if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: # sys.exit(0) grid_points = SearchSpace() goal_state = Stan(5, 2, 0) # for example # perform BFS search path = Search(grid_points).wyszukiwanie_bfs(wozek.state, goal_state) if path: for p in path: wozek._move(p) screen.fill((51,51,51)) # removes object trail screen.blit(miejsce, (430, 400)) regal.Regal(1, 1, 2, 2) regal.Regal(2, 1, 2, 3) regal.Regal(3, 1, 3, 2) regal.Regal(4, 1, 3, 3) regal.Regal(5, 1, 8, 2) regal.Regal(6, 1, 8, 3) regal.Regal(7, 1, 9, 2) regal.Regal(8, 1, 9, 3) regal.Regal(9, 1, 2, 8) regal.Regal(10, 1, 2, 9) regal.Regal(11, 1, 3, 8) regal.Regal(12, 1, 3, 9) regal.Regal(13, 1, 8, 8) regal.Regal(14, 1, 8, 9) regal.Regal(15, 1, 9, 8) regal.Regal(16, 1, 9, 9) wozek.draw() pygame.display.flip() time.sleep(1) # wozek._drive(path) # print(path) # for action in path: # x = wozek.state.x # y = wozek.state.y # direction = wozek.state.kierunek # print(x) # if action == "Left": # wozek.state.kierunek = 3 if direction == 0 else direction - 1 # # always legal # elif action == "Right": # # self._truck_direction(direction, action) # wozek.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: # wozek.state.x = t_x # wozek.state.y = t_y # screen.fill((51,51,51)) # removes object trail # screen.blit(miejsce, (430, 400)) # regal.Regal(1, 1, 2, 2) # regal.Regal(2, 1, 2, 3) # regal.Regal(3, 1, 3, 2) # regal.Regal(4, 1, 3, 3) # regal.Regal(5, 1, 8, 2) # regal.Regal(6, 1, 8, 3) # regal.Regal(7, 1, 9, 2) # regal.Regal(8, 1, 9, 3) # regal.Regal(9, 1, 2, 8) # regal.Regal(10, 1, 2, 9) # regal.Regal(11, 1, 3, 8) # regal.Regal(12, 1, 3, 9) # regal.Regal(13, 1, 8, 8) # regal.Regal(14, 1, 8, 9) # regal.Regal(15, 1, 9, 8) # regal.Regal(16, 1, 9, 9) # wozek.draw() # pygame.display.flip() # for p in path: # print(p.x, p.y) # print("Path found:", path) # else: # print("No path found.") # for state in path: # pygame.time.delay(200) # wozek.x = state.x # wozek.y = state.y # for event in pygame.event.get(): # if event.type == pygame.QUIT: # sys.exit(0) # if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: # sys.exit(0) # # Drawing # screen.fill((51,51,51)) # removes object trail # screen.blit(miejsce, (430, 400)) # # idRegału, Długość regału podana w kratkach, Współrzędne od których ma być tworzony regał (wiersz,kolumna) - poziomo # # Współrzędne od (1,1) do (10,10) # regal.Regal(1, 1, 2, 2) # regal.Regal(2, 1, 2, 3) # regal.Regal(3, 1, 3, 2) # regal.Regal(4, 1, 3, 3) # regal.Regal(5, 1, 8, 2) # regal.Regal(6, 1, 8, 3) # regal.Regal(7, 1, 9, 2) # regal.Regal(8, 1, 9, 3) # regal.Regal(9, 1, 2, 8) # regal.Regal(10, 1, 2, 9) # regal.Regal(11, 1, 3, 8) # regal.Regal(12, 1, 3, 9) # regal.Regal(13, 1, 8, 8) # regal.Regal(14, 1, 8, 9) # regal.Regal(15, 1, 9, 8) # regal.Regal(16, 1, 9, 9) # wozek.draw() # pygame.display.flip() # updating frames if __name__ == "__main__": main()