diff --git a/ekran.py b/ekran.py index 4a1a6a7..2f58e07 100644 --- a/ekran.py +++ b/ekran.py @@ -1,6 +1,6 @@ import pygame -from plansza import x1, y1, x2, y2, x3, y3, x4, y4, a_pix, b_pix -from regal import Regal, obliczPixeleNaPodstawieKratek +import plansza +from regal import Regal from packageList import * EKRAN_SZEROKOSC = 770 @@ -8,6 +8,8 @@ EKRAN_WYSOKOSC = 770 screen = pygame.display.set_mode((EKRAN_SZEROKOSC, EKRAN_WYSOKOSC)) miejsce = pygame.image.load('images/miejsce_paczek.png') miejsce = pygame.transform.scale(miejsce, (70, 70)) +skrzynka = pygame.image.load('images/letterbox.png') +skrzynka = pygame.transform.scale(skrzynka, (64, 64)) pygame.display.set_caption("Inteligentny wozek") icon = pygame.image.load('images/icon.png') pygame.display.set_icon(icon) @@ -17,25 +19,25 @@ lista_paczek_na_regalach = [] def narysuj_regaly(): global lista_regalow - r1 = Regal('ogród', x1, y1) - r2 = Regal('ogród', x1, y1+1) - r3 = Regal('ogród', x1+1, y1) - r4 = Regal('ogród', x1+1, y1+1) + r1 = Regal('ogród', plansza.x1, plansza.y1) + r2 = Regal('ogród', plansza.x1, plansza.y1+1) + r3 = Regal('ogród', plansza.x1+1, plansza.y1) + r4 = Regal('ogród', plansza.x1+1, plansza.y1+1) - r5 = Regal('narzedzia', x2, y2) - r6 = Regal('narzedzia', x2, y2+1) - r7 = Regal('narzedzia', x2+1, y2) - r8 = Regal('narzedzia', x2+1, y2+1) + r5 = Regal('narzedzia', plansza.x2, plansza.y2) + r6 = Regal('narzedzia', plansza.x2, plansza.y2+1) + r7 = Regal('narzedzia', plansza.x2+1, plansza.y2) + r8 = Regal('narzedzia', plansza.x2+1, plansza.y2+1) - r9 = Regal('kuchnia', x3, y3) - r10 = Regal('kuchnia', x3, y3+1) - r11 = Regal('kuchnia', x3+1, y3) - r12 = Regal('kuchnia', x3+1, y3+1) + r9 = Regal('kuchnia', plansza.x3, plansza.y3) + r10 = Regal('kuchnia', plansza.x3, plansza.y3+1) + r11 = Regal('kuchnia', plansza.x3+1, plansza.y3) + r12 = Regal('kuchnia', plansza.x3+1, plansza.y3+1) - r13 = Regal('motoryzacja', x4, y4) - r14 = Regal('motoryzacja', x4, y4+1) - r15 = Regal('motoryzacja', x4+1, y4) - r16 = Regal('motoryzacja', x4+1, y4+1) + r13 = Regal('motoryzacja', plansza.x4, plansza.y4) + r14 = Regal('motoryzacja', plansza.x4, plansza.y4+1) + r15 = Regal('motoryzacja', plansza.x4+1, plansza.y4) + r16 = Regal('motoryzacja', plansza.x4+1, plansza.y4+1) lista_regalow = [r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16] @@ -57,7 +59,8 @@ def narysuj_siatke(): def odswiez_ekran(wozek): screen.fill((51, 51, 51)) # removes object trail - screen.blit(miejsce,(a_pix, b_pix)) + screen.blit(miejsce,(plansza.a_pix, plansza.b_pix)) + screen.blit(skrzynka,(plansza.c_pix, plansza.d_pix)) narysuj_siatke() narysuj_paczki(wozek) narysuj_paczke_na_regale() @@ -94,5 +97,5 @@ def narysuj_paczke_na_regale(): def dodaj_paczki_na_rampe(p1, p2): lista_paczek.append(p1) lista_paczek.append(p2) - p1.update_position(a_pix, b_pix) - p2.update_position(a_pix, b_pix) + p1.update_position(plansza.a_pix, plansza.b_pix) + p2.update_position(plansza.a_pix, plansza.b_pix) \ No newline at end of file diff --git a/grid.py b/grid.py index bb1d918..51313ab 100644 --- a/grid.py +++ b/grid.py @@ -1,5 +1,6 @@ from enum import Enum -from plansza import x1,x2,x3,x4,y1,y2,y3,y4,a,b +from plansza import x1,x2,x3,x4,y1,y2,y3,y4 +import plansza from typing import Tuple, Dict @@ -29,7 +30,7 @@ class SearchGrid: for c, d in [(x1, y1), (x1, y1+1), (x1+1, y1), (x1+1, y1+1), (x2, y2), (x2+1, y2), (x2, y2+1), (x2+1, y2+1), (x3, y3), (x3+1, y3), (x3, y3+1), (x3+1, y3+1), (x4, y4), (x4+1, y4), (x4, y4+1), (x4+1, y4+1),]: self.grid[(c,d)] = GridCellType.RACK - for e, f in [(a,b)]: + for e, f in [(plansza.a, plansza.b),(plansza.c, plansza.d)]: self.grid[(e,f)] = GridCellType.PLACE diff --git a/images/letterbox.png b/images/letterbox.png new file mode 100644 index 0000000..4df3959 Binary files /dev/null and b/images/letterbox.png differ diff --git a/main.py b/main.py index 6f88d2d..7ed8ed7 100644 --- a/main.py +++ b/main.py @@ -93,22 +93,6 @@ def main(): # wozek.drop_package() # wozek.dynamic_wozek_picture() - 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 - # if event.type == pygame.KEYDOWN: # if event.key == pygame.K_SPACE: # if wozek.ln == 0: @@ -118,18 +102,6 @@ def main(): # wozek.drop_package() # wozek.dynamic_wozek_picture() - 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 >= ekran.EKRAN_SZEROKOSC-70: - wozek.obecnyStan.x = ekran.EKRAN_SZEROKOSC-70 - if wozek.obecnyStan.y <= 0: - wozek.obecnyStan.y = 0 - elif wozek.obecnyStan.y >= ekran.EKRAN_WYSOKOSC-70: - wozek.obecnyStan.y = ekran.EKRAN_WYSOKOSC-70 - ekran.odswiez_ekran(wozek) diff --git a/plansza.py b/plansza.py index e82212c..5029de9 100644 --- a/plansza.py +++ b/plansza.py @@ -3,10 +3,13 @@ import random def obliczPixeleNaPodstawieKratek(wymiar): #Przeliczanie współrzędnych podanych w kratkach na pixele i = 1 pixele = 70 - while (i < wymiar): - pixele = pixele + 70 - i = i + 1 - return pixele + if wymiar == 0: + return 0 + else: + while (i < wymiar): + pixele = pixele + 70 + i = i + 1 + return pixele EKRAN_SZEROKOSC = 770 EKRAN_WYSOKOSC = 770 @@ -30,6 +33,10 @@ while True: #wspolrzedne miejsca paczek a = 5 b = 5 + + #wspolrzedne skrzynki na listy + c = 5 + d = 0 #dodane wspolrzedne (0, 0), (4, 4), (4, 6), (6, 4), (6, 6) zeby regaly sie nie stykaly table = [(0, 0), (4, 4), (4, 6), (6, 4), (6, 6), @@ -53,4 +60,7 @@ random.shuffle(coordinates) x1, x2, x3, x4, y1, y2, y3, y4 = map(int, [x1, x2, x3, x4, y1, y2, y3, y4]) a_pix = obliczPixeleNaPodstawieKratek(a) -b_pix = obliczPixeleNaPodstawieKratek(b) \ No newline at end of file +b_pix = obliczPixeleNaPodstawieKratek(b) + +c_pix = obliczPixeleNaPodstawieKratek(c) +d_pix = obliczPixeleNaPodstawieKratek(d) \ No newline at end of file diff --git a/wozek.py b/wozek.py index a867a2c..d09c273 100644 --- a/wozek.py +++ b/wozek.py @@ -9,10 +9,6 @@ class Wozek(pygame.sprite.Sprite): def __init__(self): super().__init__() self.obecnyStan = None - # 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") diff --git a/wyszukiwanie.py b/wyszukiwanie.py index 648a5bd..dbf5270 100644 --- a/wyszukiwanie.py +++ b/wyszukiwanie.py @@ -147,6 +147,6 @@ def dobierz_wage_do_wezla(wezel, search_grid): elif search_grid.grid[(x1, y1)] is GridCellType.RACK: wezel.waga = 99999 elif search_grid.grid[(x1, y1)] is GridCellType.PLACE: - wezel.waga = 1 + wezel.waga = 500 return None