Compare commits
No commits in common. "c8859b34f8553644119dae507569510a06b8fe7d" and "1a2c00c6e2facea0bc53cad88b4935025bde22d6" have entirely different histories.
c8859b34f8
...
1a2c00c6e2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
9
grid.py
9
grid.py
@ -9,9 +9,16 @@ class GridCellType(Enum):
|
||||
RACK = 1
|
||||
PLACE = 2
|
||||
|
||||
# class RackCellType(Enum):
|
||||
# OGROD = 0
|
||||
# NARZEDZIA = 1
|
||||
# KUCHNIA = 2
|
||||
# MOTORYZACJA = 3
|
||||
|
||||
|
||||
class SearchGrid:
|
||||
grid: Dict[Tuple[int, int], GridCellType] = {}
|
||||
# rack_grid : Dict[Tuple[int, int], GridCellType] = {}
|
||||
|
||||
def __init__(self) -> None:
|
||||
self._init_grid()
|
||||
@ -25,3 +32,5 @@ class SearchGrid:
|
||||
self.grid[(c,d)] = GridCellType.RACK
|
||||
for e, f in [(plansza.a, plansza.b),(plansza.c, plansza.d)]:
|
||||
self.grid[(e,f)] = GridCellType.PLACE
|
||||
|
||||
|
||||
|
13
itemList.py
13
itemList.py
@ -1,5 +1,7 @@
|
||||
import pygame
|
||||
|
||||
# from paczka import Paczka
|
||||
|
||||
class listOfItems:
|
||||
list = []
|
||||
item_group = pygame.sprite.Group()
|
||||
@ -11,3 +13,14 @@ class listOfItems:
|
||||
def remove(self):
|
||||
last_item = self.list.pop()
|
||||
self.item_group.remove(last_item)
|
||||
|
||||
|
||||
# def zainicjuj_liste_paczek(init_x, init_y):
|
||||
# packageList = listOfPackages()
|
||||
# demo_paczka = Paczka('duzy', 10, any, False, True, False, any, any, any, any, any)
|
||||
# demo_paczka.update_position(init_x, init_y)
|
||||
# packageList.add(demo_paczka)
|
||||
# return packageList
|
||||
|
||||
|
||||
|
||||
|
18
main.py
18
main.py
@ -104,6 +104,24 @@ def main():
|
||||
sciezka = wyszukiwanie.znajdz_sciezke(wezel)
|
||||
wozek.przemiesc_wozek_po_sciezce(sciezka)
|
||||
|
||||
# if grid_points.grid[(wiersz, kolumna)] is GridCellType.PLACE: #picks up package
|
||||
# if wozek.ln == 0:
|
||||
# wozek.load_package()
|
||||
# wozek.dynamic_wozek_picture
|
||||
# else:
|
||||
# if wozek.ln != 0: # drops package
|
||||
# wozek.drop_package()
|
||||
# wozek.dynamic_wozek_picture()
|
||||
|
||||
# if event.type == pygame.KEYDOWN:
|
||||
# if event.key == pygame.K_SPACE:
|
||||
# if wozek.ln == 0:
|
||||
# wozek.load_package()
|
||||
# wozek.dynamic_wozek_picture()
|
||||
# else:
|
||||
# wozek.drop_package()
|
||||
# wozek.dynamic_wozek_picture()
|
||||
|
||||
ekran.odswiez_ekran(wozek)
|
||||
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
import random
|
||||
import algorytm_genetyczny as genetic
|
||||
|
||||
def obliczPixeleNaPodstawieKratek(wymiar): #Przeliczanie współrzędnych podanych w kratkach na pixele
|
||||
|
11
regal.py
11
regal.py
@ -4,6 +4,7 @@ MAX_STORAGE = 3
|
||||
|
||||
def obliczPixeleNaPodstawieKratek(wymiar): #Przeliczanie współrzędnych podanych w kratkach na pixele
|
||||
i = 1
|
||||
# pixele = 100
|
||||
pixele = 73
|
||||
while (i < wymiar):
|
||||
pixele = pixele + 70
|
||||
@ -32,6 +33,13 @@ class Regal(pygame.sprite.Sprite):
|
||||
self.kolumna = obliczPixeleNaPodstawieKratek(numerKolumny)
|
||||
self.dlugosc = obliczPixeleDlugosciRegalu(self)
|
||||
|
||||
package_storage = []
|
||||
shelfs = { # here packages are stored
|
||||
"dolna": package_storage,
|
||||
"gorna": package_storage
|
||||
}
|
||||
|
||||
|
||||
storage_dolna = []
|
||||
storage_gorna = []
|
||||
|
||||
@ -82,3 +90,6 @@ class Regal(pygame.sprite.Sprite):
|
||||
self.dolna.append(package)
|
||||
else:
|
||||
self.gorna.append(package)
|
||||
|
||||
|
||||
|
||||
|
59
wozek.py
59
wozek.py
@ -1,5 +1,6 @@
|
||||
import ekran
|
||||
import pygame
|
||||
import pygame,math
|
||||
# from packageList import listOfPackages
|
||||
from ekran import lista_itemow
|
||||
from letter import Letter
|
||||
import plansza
|
||||
@ -12,19 +13,40 @@ class Wozek(pygame.sprite.Sprite):
|
||||
self.obecnyStan = None
|
||||
self.height = 64
|
||||
self.width = 64
|
||||
# Credit: Forklift icons created by Smashicons - Flaticon
|
||||
# https://www.flaticon.com/free-icons/forklift
|
||||
self.image = pygame.image.load("images/pusty_wozek.png")
|
||||
self.rect = self.image.get_rect()
|
||||
# Credit: Forklift icons created by Smashicons - Flaticon
|
||||
# https://www.flaticon.com/free-icons/forklift
|
||||
self.__zainicjuj_stan_poczatkowy()
|
||||
|
||||
def draw(self):
|
||||
ekran.screen.blit(self.image, (self.obecnyStan.x, self.obecnyStan.y))
|
||||
# self.update_position(self.obecnyStan.x, self.obecnyStan.y)
|
||||
|
||||
#storage = ["none"] * 10
|
||||
storage = []
|
||||
max_size = 10
|
||||
ln = len(storage)
|
||||
|
||||
def add_element(self, element):
|
||||
if self.ln < self.max_size:
|
||||
self.storage.append(element)
|
||||
self.ln=self.ln+1
|
||||
else:
|
||||
print("I'm full!")
|
||||
def remove_element(self):
|
||||
if self.ln > 0:
|
||||
element = self.storage.pop()
|
||||
self.ln=self.ln-1
|
||||
return element
|
||||
else:
|
||||
print("I'm empty!")
|
||||
|
||||
def update_position(self, x, y):
|
||||
self.obecnyStan.x = x
|
||||
self.obecnyStan.y = y
|
||||
self.rect.topleft = (x, y)
|
||||
|
||||
def dynamic_wozek_picture(self):
|
||||
if self.ln == 0:
|
||||
self.image = pygame.image.load("images/pusty_wozek.png")
|
||||
@ -37,6 +59,37 @@ class Wozek(pygame.sprite.Sprite):
|
||||
|
||||
self.rect = self.image.get_rect()
|
||||
|
||||
|
||||
def load_package(self):
|
||||
#for package in listOfPackages.list:
|
||||
# for package in listOfPackages:
|
||||
# dist = math.sqrt((self.obecnyStan.x - package.x)**2 + (self.obecnyStan.y - package.y)**2)
|
||||
# if dist <= 50:
|
||||
# self.add_element(package)
|
||||
# # listOfPackages.list.pop()
|
||||
# listOfPackages.pop()
|
||||
package = listOfPackages.pop()
|
||||
dist = math.sqrt((self.obecnyStan.x - package.x)**2 + (self.obecnyStan.y - package.y)**2)
|
||||
if dist <= 50:
|
||||
self.add_element(package)
|
||||
# listOfPackages.list.pop()
|
||||
|
||||
def load_packages_collision(self):
|
||||
pass
|
||||
# packages_collision = pygame.sprite.spritecollide(self, listOfPackages.package_group, False)
|
||||
# if packages_collision:
|
||||
# for package in packages_collision:
|
||||
# self.add_element(package)
|
||||
# listOfPackages.list.remove(package) # collision doesn't work, collision always happens
|
||||
|
||||
def drop_package(self):
|
||||
package = self.remove_element()
|
||||
if package is not None:
|
||||
package.x = self.obecnyStan.x
|
||||
package.y = self.obecnyStan.y
|
||||
# listOfPackages.list.append(package)
|
||||
listOfPackages.append(package)
|
||||
|
||||
def __zainicjuj_stan_poczatkowy(self):
|
||||
from wyszukiwanie import Stan
|
||||
self.obecnyStan = Stan(0, 0, 1)
|
||||
|
Loading…
Reference in New Issue
Block a user