Inteligentny_Wozek/main.py

108 lines
3.9 KiB
Python

import sys
import pygame
import regal
import paczka
from wozek import Wozek
import wyszukiwanie
import ekran
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 main():
wozek = Wozek()
while True:
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)
if event.type == pygame.MOUSEBUTTONDOWN:
# lewy przycisk myszy
if event.button == 1:
x = pygame.mouse.get_pos()[0]
y = pygame.mouse.get_pos()[1]
wiersz = ekran.sprawdz_ktory_wiersz(x)
kolumna = ekran.sprawdz_ktora_kolumna(y)
docelowy_stan = wyszukiwanie.Stan(wiersz*70, kolumna*70, 0)
# print(f'{docelowy_stan.x} + {docelowy_stan.y}')
# wyszukiwanie.wyszukiwanie_bfs(wozek.obecnyStan, docelowy_stan)
# wezel = wyszukiwanie.wyszukiwanie_bfs(wozek.obecnyStan, wyszukiwanie.Stan(905, 527))
wezel = wyszukiwanie.wyszukiwanie_bfs(wozek.obecnyStan, docelowy_stan)
sciezka = wyszukiwanie.znajdz_sciezke(wezel)
# print(sciezka)
wozek.przemiesc_wozek_po_sciezce(sciezka)
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_DOWN:
wozek.y_change = 1
if event.key == pygame.K_UP:
wozek.y_change = -1
if event.key == pygame.K_RIGHT:
wozek.x_change = 1
if event.key == pygame.K_LEFT:
wozek.x_change = -1
if event.type == pygame.KEYUP:
if event.key == pygame.K_DOWN or event.key == pygame.K_UP:
wozek.y_change = 0
if event.key == pygame.K_RIGHT or event.key == pygame.K_LEFT:
wozek.x_change = 0
wozek.obecnyStan.x += wozek.x_change
wozek.obecnyStan.y += wozek.y_change
if wozek.obecnyStan.x <= 0:
wozek.obecnyStan.x = 0
elif wozek.obecnyStan.x >= 916:
wozek.obecnyStan.x = 916
if wozek.obecnyStan.y <= 0:
wozek.obecnyStan.y = 0
elif wozek.obecnyStan.x >= 916:
wozek.obecnyStan.x = 916
# grid = SearchSpace()
# # create start and goal states
# start_state = Stan(x=1, y=0, kierunek=0) # for example
# goal_state = Stan(x=12, y=0, kierunek=0) # for example
# # 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
ekran.odswiez_ekran(wozek)
if __name__ == "__main__":
main()