wozek has storage and wozek changes picture based on its load #8

Merged
s472778 merged 1 commits from carrying_packages_and_dynamic_wozek_image into master 2023-03-27 12:31:40 +02:00
5 changed files with 72 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

30
main.py
View File

@ -2,6 +2,7 @@ import sys
import pygame import pygame
import regal import regal
import paczka import paczka
#from wozek import Wozek
pygame.init() pygame.init()
screen = pygame.display.set_mode((980, 980)) screen = pygame.display.set_mode((980, 980))
@ -11,7 +12,7 @@ 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)
class Wozek: class Wozek():
def __init__(self): def __init__(self):
self.x = 55 self.x = 55
self.y = 55 self.y = 55
@ -26,9 +27,34 @@ class Wozek:
def draw(self): def draw(self):
screen.blit(self.image, (self.x, self.y)) screen.blit(self.image, (self.x, self.y))
#storage = ["none"] * 10
storage = []
max_size = 10
def add_element(element, storage, max_size):
if len(storage) < max_size:
storage.append(element)
else:
print("I'm full!")
def remove_element(storage):
if len(storage) > 0:
place = storage.pop()
return place
else:
print("I'm empty!")
def dynamic_wozek_picture(wozek, storage):
if len(storage) == 0:
wozek.image = pygame.image.load("images/pusty_wozek.png")
elif ((len(storage) > 0) and (len(storage) < 4)):
wozek.image = pygame.image.load("images/pelny_wozek_1_crate.png")
elif ((len(storage) > 3) and (len(storage) < 10)):
wozek.image = pygame.image.load("images/pelny_wozek_2_crates.png")
elif (len(storage) == 10):
wozek.image = pygame.image.load("images/pelny_wozek_full_3_crates.png")
def main(): def main():
wozek = Wozek() wozek = Wozek()
while True: while True:
for event in pygame.event.get(): for event in pygame.event.get():

44
wozek.py Normal file
View File

@ -0,0 +1,44 @@
from main import pygame, screen
#screen nie działa
class Wozek():
def __init__(self):
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")
# Credit: Forklift icons created by Smashicons - Flaticon
# https://www.flaticon.com/free-icons/forklift
def draw(self):
screen.blit(self.image, (self.x, self.y))
#storage = ["none"] * 10
storage = []
max_size = 10
def add_element(element, storage, max_size):
if len(storage) < max_size:
storage.append(element)
else:
print("I'm full!")
def remove_element(storage):
if len(storage) > 0:
place = storage.pop()
return place
else:
print("I'm empty!")
def dynamic_wozek_picture(wozek, storage):
if len(storage) == 0:
wozek.image = pygame.image.load("images/pusty_wozek.png")
elif ((len(storage) > 0) and (len(storage) < 4)):
wozek.image = pygame.image.load("images/pelny_wozek_1_crate.png")
elif ((len(storage) > 3) and (len(storage) < 10)):
wozek.image = pygame.image.load("images/pelny_wozek_2_crates.png")
elif (len(storage) == 10):
wozek.image = pygame.image.load("images/pelny_wozek_full_3_crates.png")