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
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)

View File

@ -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

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.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)

View File

@ -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)
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):
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")

View File

@ -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