dodana ikonka skrzynki na listy

This commit is contained in:
Zuzanna Wójcik 2023-05-31 09:25:37 +02:00
parent 497b01ccb3
commit c946313bcd
7 changed files with 43 additions and 61 deletions

View File

@ -1,6 +1,6 @@
import pygame import pygame
from plansza import x1, y1, x2, y2, x3, y3, x4, y4, a_pix, b_pix import plansza
from regal import Regal, obliczPixeleNaPodstawieKratek from regal import Regal
from packageList import * from packageList import *
EKRAN_SZEROKOSC = 770 EKRAN_SZEROKOSC = 770
@ -8,6 +8,8 @@ EKRAN_WYSOKOSC = 770
screen = pygame.display.set_mode((EKRAN_SZEROKOSC, EKRAN_WYSOKOSC)) screen = pygame.display.set_mode((EKRAN_SZEROKOSC, EKRAN_WYSOKOSC))
miejsce = pygame.image.load('images/miejsce_paczek.png') miejsce = pygame.image.load('images/miejsce_paczek.png')
miejsce = pygame.transform.scale(miejsce, (70, 70)) 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") pygame.display.set_caption("Inteligentny wozek")
icon = pygame.image.load('images/icon.png') icon = pygame.image.load('images/icon.png')
pygame.display.set_icon(icon) pygame.display.set_icon(icon)
@ -17,25 +19,25 @@ lista_paczek_na_regalach = []
def narysuj_regaly(): def narysuj_regaly():
global lista_regalow global lista_regalow
r1 = Regal('ogród', x1, y1) r1 = Regal('ogród', plansza.x1, plansza.y1)
r2 = Regal('ogród', x1, y1+1) r2 = Regal('ogród', plansza.x1, plansza.y1+1)
r3 = Regal('ogród', x1+1, y1) r3 = Regal('ogród', plansza.x1+1, plansza.y1)
r4 = Regal('ogród', x1+1, y1+1) r4 = Regal('ogród', plansza.x1+1, plansza.y1+1)
r5 = Regal('narzedzia', x2, y2) r5 = Regal('narzedzia', plansza.x2, plansza.y2)
r6 = Regal('narzedzia', x2, y2+1) r6 = Regal('narzedzia', plansza.x2, plansza.y2+1)
r7 = Regal('narzedzia', x2+1, y2) r7 = Regal('narzedzia', plansza.x2+1, plansza.y2)
r8 = Regal('narzedzia', x2+1, y2+1) r8 = Regal('narzedzia', plansza.x2+1, plansza.y2+1)
r9 = Regal('kuchnia', x3, y3) r9 = Regal('kuchnia', plansza.x3, plansza.y3)
r10 = Regal('kuchnia', x3, y3+1) r10 = Regal('kuchnia', plansza.x3, plansza.y3+1)
r11 = Regal('kuchnia', x3+1, y3) r11 = Regal('kuchnia', plansza.x3+1, plansza.y3)
r12 = Regal('kuchnia', x3+1, y3+1) r12 = Regal('kuchnia', plansza.x3+1, plansza.y3+1)
r13 = Regal('motoryzacja', x4, y4) r13 = Regal('motoryzacja', plansza.x4, plansza.y4)
r14 = Regal('motoryzacja', x4, y4+1) r14 = Regal('motoryzacja', plansza.x4, plansza.y4+1)
r15 = Regal('motoryzacja', x4+1, y4) r15 = Regal('motoryzacja', plansza.x4+1, plansza.y4)
r16 = Regal('motoryzacja', x4+1, y4+1) 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] 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): def odswiez_ekran(wozek):
screen.fill((51, 51, 51)) # removes object trail 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_siatke()
narysuj_paczki(wozek) narysuj_paczki(wozek)
narysuj_paczke_na_regale() narysuj_paczke_na_regale()
@ -94,5 +97,5 @@ def narysuj_paczke_na_regale():
def dodaj_paczki_na_rampe(p1, p2): def dodaj_paczki_na_rampe(p1, p2):
lista_paczek.append(p1) lista_paczek.append(p1)
lista_paczek.append(p2) lista_paczek.append(p2)
p1.update_position(a_pix, b_pix) p1.update_position(plansza.a_pix, plansza.b_pix)
p2.update_position(a_pix, b_pix) p2.update_position(plansza.a_pix, plansza.b_pix)

View File

@ -1,5 +1,6 @@
from enum import Enum 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 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), 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),]: (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 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 self.grid[(e,f)] = GridCellType.PLACE

BIN
images/letterbox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

28
main.py
View File

@ -93,22 +93,6 @@ def main():
# wozek.drop_package() # wozek.drop_package()
# wozek.dynamic_wozek_picture() # 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.type == pygame.KEYDOWN:
# if event.key == pygame.K_SPACE: # if event.key == pygame.K_SPACE:
# if wozek.ln == 0: # if wozek.ln == 0:
@ -118,18 +102,6 @@ def main():
# wozek.drop_package() # wozek.drop_package()
# wozek.dynamic_wozek_picture() # 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) ekran.odswiez_ekran(wozek)

View File

@ -3,6 +3,9 @@ import random
def obliczPixeleNaPodstawieKratek(wymiar): #Przeliczanie współrzędnych podanych w kratkach na pixele def obliczPixeleNaPodstawieKratek(wymiar): #Przeliczanie współrzędnych podanych w kratkach na pixele
i = 1 i = 1
pixele = 70 pixele = 70
if wymiar == 0:
return 0
else:
while (i < wymiar): while (i < wymiar):
pixele = pixele + 70 pixele = pixele + 70
i = i + 1 i = i + 1
@ -31,6 +34,10 @@ while True:
a = 5 a = 5
b = 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 #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), table = [(0, 0), (4, 4), (4, 6), (6, 4), (6, 6),
(x1, y1), (x1+1, y1), (x1, y1+1), (x1+1, y1+1), (x1, y1), (x1+1, y1), (x1, y1+1), (x1+1, y1+1),
@ -54,3 +61,6 @@ x1, x2, x3, x4, y1, y2, y3, y4 = map(int, [x1, x2, x3, x4, y1, y2, y3, y4])
a_pix = obliczPixeleNaPodstawieKratek(a) a_pix = obliczPixeleNaPodstawieKratek(a)
b_pix = obliczPixeleNaPodstawieKratek(b) b_pix = obliczPixeleNaPodstawieKratek(b)
c_pix = obliczPixeleNaPodstawieKratek(c)
d_pix = obliczPixeleNaPodstawieKratek(d)

View File

@ -9,10 +9,6 @@ class Wozek(pygame.sprite.Sprite):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
self.obecnyStan = None self.obecnyStan = None
# self.x = 55
# self.y = 55
self.x_change = 0
self.y_change = 0
self.height = 64 self.height = 64
self.width = 64 self.width = 64
self.image = pygame.image.load("images/pusty_wozek.png") self.image = pygame.image.load("images/pusty_wozek.png")

View File

@ -147,6 +147,6 @@ def dobierz_wage_do_wezla(wezel, search_grid):
elif search_grid.grid[(x1, y1)] is GridCellType.RACK: elif search_grid.grid[(x1, y1)] is GridCellType.RACK:
wezel.waga = 99999 wezel.waga = 99999
elif search_grid.grid[(x1, y1)] is GridCellType.PLACE: elif search_grid.grid[(x1, y1)] is GridCellType.PLACE:
wezel.waga = 1 wezel.waga = 500
return None return None