forked from s474139/Inteligentny_Wozek
Merge pull request 'drzewo_wiki' (#18) from drzewo_wiki into master
Reviewed-on: s474139/Inteligentny_Wozek#18
This commit is contained in:
commit
4670845a00
@ -3,6 +3,36 @@ import pandas as pd
|
|||||||
from sklearn.tree import DecisionTreeClassifier
|
from sklearn.tree import DecisionTreeClassifier
|
||||||
from sklearn.tree import export_graphviz
|
from sklearn.tree import export_graphviz
|
||||||
|
|
||||||
|
# def make_tree():
|
||||||
|
# plikZPrzecinkami = open("training_data.txt", 'w')
|
||||||
|
|
||||||
|
# with open('DecisionTree/200permutations_table.txt', 'r') as plik:
|
||||||
|
# for linia in plik:
|
||||||
|
# liczby = linia.strip()
|
||||||
|
# wiersz = ""
|
||||||
|
# licznik = 0
|
||||||
|
# for liczba in liczby:
|
||||||
|
# wiersz += liczba
|
||||||
|
# wiersz += ";"
|
||||||
|
# wiersz = wiersz[:-1]
|
||||||
|
# wiersz += '\n'
|
||||||
|
# plikZPrzecinkami.write(wiersz)
|
||||||
|
|
||||||
|
# plikZPrzecinkami.close()
|
||||||
|
|
||||||
|
# x = pd.read_csv('DecisionTree/training_data.txt', delimiter=';',
|
||||||
|
# names=['wielkosc', 'waga,', 'priorytet', 'ksztalt', 'kruchosc', 'dolna', 'gorna', 'g > d'])
|
||||||
|
# y = pd.read_csv('DecisionTree/decisions.txt', names=['polka'])
|
||||||
|
# # X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=1) # 70% treningowe and 30% testowe
|
||||||
|
|
||||||
|
# # Tworzenie instancji klasyfikatora ID3
|
||||||
|
# clf = DecisionTreeClassifier(criterion='entropy')
|
||||||
|
|
||||||
|
# # Trenowanie klasyfikatora
|
||||||
|
# clf.fit(x.values, y.values)
|
||||||
|
# # clf.fit(X_train, y_train)
|
||||||
|
# return clf
|
||||||
|
|
||||||
plikZPrzecinkami = open("training_data.txt", 'w')
|
plikZPrzecinkami = open("training_data.txt", 'w')
|
||||||
|
|
||||||
with open('200permutations_table.txt', 'r') as plik:
|
with open('200permutations_table.txt', 'r') as plik:
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
71
ekran.py
71
ekran.py
@ -1,11 +1,10 @@
|
|||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
from plansza import x1, y1, x2, y2, x3, y3, x4, y4, a_pix, b_pix
|
from plansza import x1, y1, x2, y2, x3, y3, x4, y4, a_pix, b_pix
|
||||||
import packageList
|
from regal import Regal, obliczPixeleNaPodstawieKratek
|
||||||
import regal
|
# import wozek
|
||||||
import wozek
|
|
||||||
from packageList import *
|
from packageList import *
|
||||||
from paczka import Paczka
|
# from paczka import Paczka
|
||||||
|
|
||||||
EKRAN_SZEROKOSC = 770
|
EKRAN_SZEROKOSC = 770
|
||||||
EKRAN_WYSOKOSC = 770
|
EKRAN_WYSOKOSC = 770
|
||||||
@ -16,29 +15,47 @@ 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)
|
||||||
|
|
||||||
lista_paczek = packageList.zainicjuj_liste_paczek(a_pix, b_pix)
|
# lista_paczek = packageList.zainicjuj_liste_paczek(a_pix, b_pix)
|
||||||
|
|
||||||
|
#lista_paczek = listOfPackages()
|
||||||
|
lista_paczek = []
|
||||||
|
lista_paczek_na_regalach = []
|
||||||
|
|
||||||
def narysuj_regaly():
|
def narysuj_regaly():
|
||||||
regal.Regal(1, 1, x1, y1)
|
global lista_regalow
|
||||||
regal.Regal(2, 1, x1, y1+1)
|
r1 = Regal('ogród', x1, y1)
|
||||||
regal.Regal(3, 1, x1+1, y1)
|
r2 = Regal('ogród', x1, y1+1)
|
||||||
regal.Regal(4, 1, x1+1, y1+1)
|
r3 = Regal('ogród', x1+1, y1)
|
||||||
|
r4 = Regal('ogród', x1+1, y1+1)
|
||||||
|
|
||||||
regal.Regal(5, 1, x2, y2)
|
r5 = Regal('narzedzia', x2, y2)
|
||||||
regal.Regal(6, 1, x2, y2+1)
|
r6 = Regal('narzedzia', x2, y2+1)
|
||||||
regal.Regal(7, 1, x2+1, y2)
|
r7 = Regal('narzedzia', x2+1, y2)
|
||||||
regal.Regal(8, 1, x2+1, y2+1)
|
r8 = Regal('narzedzia', x2+1, y2+1)
|
||||||
|
|
||||||
regal.Regal(9, 1, x3, y3)
|
r9 = Regal('kuchnia', x3, y3)
|
||||||
regal.Regal(10, 1, x3, y3+1)
|
r10 = Regal('kuchnia', x3, y3+1)
|
||||||
regal.Regal(11, 1, x3+1, y3)
|
r11 = Regal('kuchnia', x3+1, y3)
|
||||||
regal.Regal(12, 1, x3+1, y3+1)
|
r12 = Regal('kuchnia', x3+1, y3+1)
|
||||||
|
|
||||||
regal.Regal(13, 1, x4, y4)
|
r13 = Regal('motoryzacja', x4, y4)
|
||||||
regal.Regal(14, 1, x4, y4+1)
|
r14 = Regal('motoryzacja', x4, y4+1)
|
||||||
regal.Regal(15, 1, x4+1, y4)
|
r15 = Regal('motoryzacja', x4+1, y4)
|
||||||
regal.Regal(16, 1, x4+1, y4+1)
|
r16 = Regal('motoryzacja', x4+1, y4+1)
|
||||||
|
|
||||||
|
lista_regalow = [r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16]
|
||||||
|
|
||||||
|
def zwroc_regaly_kategoria(kategoria):
|
||||||
|
lista_reg = []
|
||||||
|
for reg in lista_regalow:
|
||||||
|
if reg.nazwaRegalu == kategoria:
|
||||||
|
lista_reg.append(reg)
|
||||||
|
return lista_reg
|
||||||
|
|
||||||
|
# def zwroc_regaly_wspolrzedne(x_reg, y_reg):
|
||||||
|
# for regal in lista_regalow:
|
||||||
|
# if regal.wiersz == obliczPixeleNaPodstawieKratek(x_reg) and regal.kolumna == obliczPixeleNaPodstawieKratek(y_reg):
|
||||||
|
# return regal
|
||||||
|
|
||||||
def narysuj_siatke():
|
def narysuj_siatke():
|
||||||
blockSize = 70 # Set the size of the grid block
|
blockSize = 70 # Set the size of the grid block
|
||||||
@ -54,6 +71,7 @@ def odswiez_ekran(wozek):
|
|||||||
screen.blit(miejsce,(a_pix, b_pix))
|
screen.blit(miejsce,(a_pix, b_pix))
|
||||||
narysuj_siatke()
|
narysuj_siatke()
|
||||||
narysuj_paczki(wozek)
|
narysuj_paczki(wozek)
|
||||||
|
narysuj_paczke_na_regale()
|
||||||
narysuj_regaly()
|
narysuj_regaly()
|
||||||
wozek.draw()
|
wozek.draw()
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
@ -76,6 +94,13 @@ def sprawdz_ktora_kolumna(y):
|
|||||||
|
|
||||||
|
|
||||||
def narysuj_paczki(wozek):
|
def narysuj_paczki(wozek):
|
||||||
if wozek.ln == 0:
|
#if wozek.ln == 0:
|
||||||
for paczka in lista_paczek.list:
|
#for paczka in lista_paczek.list:
|
||||||
|
#if len(lista_paczek_na_regalach) == 0:
|
||||||
|
for paczka in lista_paczek:
|
||||||
|
paczka.narysuj(paczka.x, paczka.y, screen)
|
||||||
|
|
||||||
|
def narysuj_paczke_na_regale():
|
||||||
|
for paczka in lista_paczek_na_regalach:
|
||||||
|
if paczka.is_in_move is False:
|
||||||
paczka.narysuj(paczka.x, paczka.y, screen)
|
paczka.narysuj(paczka.x, paczka.y, screen)
|
19
grid.py
19
grid.py
@ -7,10 +7,17 @@ class GridCellType(Enum):
|
|||||||
FREE = 0
|
FREE = 0
|
||||||
RACK = 1
|
RACK = 1
|
||||||
PLACE = 2
|
PLACE = 2
|
||||||
# dodać oznaczenie na miejsce dla paczek
|
|
||||||
|
# class RackCellType(Enum):
|
||||||
|
# OGROD = 0
|
||||||
|
# NARZEDZIA = 1
|
||||||
|
# KUCHNIA = 2
|
||||||
|
# MOTORYZACJA = 3
|
||||||
|
|
||||||
|
|
||||||
class SearchGrid:
|
class SearchGrid:
|
||||||
grid: Dict[Tuple[int, int], GridCellType] = {}
|
grid: Dict[Tuple[int, int], GridCellType] = {}
|
||||||
|
# rack_grid : Dict[Tuple[int, int], GridCellType] = {}
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
self._init_grid()
|
self._init_grid()
|
||||||
@ -19,8 +26,10 @@ class SearchGrid:
|
|||||||
for i in range (0,14):
|
for i in range (0,14):
|
||||||
for j in range(0,14):
|
for j in range(0,14):
|
||||||
self.grid[(i, j)] = GridCellType.FREE
|
self.grid[(i, j)] = GridCellType.FREE
|
||||||
for r, c 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[(r,c)] = GridCellType.RACK
|
self.grid[(c,d)] = GridCellType.RACK
|
||||||
for m, n in [(a,b), (a+1,b), (a,b+1), (a+1,b+1)]:
|
for e, f in [(a,b), (a+1,b), (a,b+1), (a+1,b+1)]:
|
||||||
self.grid[(m,n)] = GridCellType.PLACE
|
self.grid[(e,f)] = GridCellType.PLACE
|
||||||
|
|
||||||
|
|
||||||
|
116
main.py
116
main.py
@ -1,35 +1,117 @@
|
|||||||
import sys
|
import sys
|
||||||
import pygame
|
import pygame
|
||||||
|
from paczka import Paczka
|
||||||
from wozek import Wozek
|
from wozek import Wozek
|
||||||
import wyszukiwanie
|
import wyszukiwanie
|
||||||
import ekran
|
import ekran
|
||||||
from grid import SearchGrid
|
from grid import GridCellType, SearchGrid
|
||||||
|
from sklearn.tree import DecisionTreeClassifier
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
from plansza import a_pix, b_pix
|
||||||
pygame.init()
|
pygame.init()
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
wozek = Wozek()
|
wozek = Wozek()
|
||||||
|
|
||||||
|
p1 = Paczka('duzy', 12, 'narzedzia', False, True, False, any, any, any, any, any)
|
||||||
|
p2 = Paczka('maly', 1, 'ogród', False, True, False, any, any, any, any, any)
|
||||||
|
ekran.lista_paczek.append(p1)
|
||||||
|
ekran.lista_paczek.append(p2)
|
||||||
|
p1.update_position(a_pix, b_pix)
|
||||||
|
p2.update_position(a_pix, b_pix)
|
||||||
|
|
||||||
|
grid_points = SearchGrid()
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
for event in pygame.event.get():
|
for event in pygame.event.get():
|
||||||
if event.type == pygame.QUIT:
|
if event.type == pygame.QUIT:
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
|
if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
if event.type == pygame.MOUSEBUTTONDOWN:
|
if event.type == pygame.KEYDOWN:
|
||||||
# lewy przycisk myszy
|
if event.key == pygame.K_SPACE:
|
||||||
if event.button == 1:
|
## wozek jedzie po paczke
|
||||||
grid_points = SearchGrid()
|
wiersz = ekran.sprawdz_ktory_wiersz(a_pix)
|
||||||
x = pygame.mouse.get_pos()[0]
|
kolumna = ekran.sprawdz_ktora_kolumna(b_pix)
|
||||||
y = pygame.mouse.get_pos()[1]
|
|
||||||
wiersz = ekran.sprawdz_ktory_wiersz(x)
|
|
||||||
kolumna = ekran.sprawdz_ktora_kolumna(y)
|
|
||||||
docelowy_stan = wyszukiwanie.Stan(wiersz * 70, kolumna * 70, 1)
|
docelowy_stan = wyszukiwanie.Stan(wiersz * 70, kolumna * 70, 1)
|
||||||
|
|
||||||
#wezel = wyszukiwanie.wyszukiwanie_bfs(wozek.obecnyStan, docelowy_stan, grid_points)
|
#wezel = wyszukiwanie.wyszukiwanie_bfs(wozek.obecnyStan, docelowy_stan, grid_points)
|
||||||
wezel = wyszukiwanie.wyszukiwanie_a_star(wozek.obecnyStan, docelowy_stan, grid_points)
|
wezel = wyszukiwanie.wyszukiwanie_a_star(wozek.obecnyStan, docelowy_stan, grid_points)
|
||||||
sciezka = wyszukiwanie.znajdz_sciezke(wezel)
|
sciezka = wyszukiwanie.znajdz_sciezke(wezel)
|
||||||
wozek.przemiesc_wozek_po_sciezce(sciezka)
|
wozek.przemiesc_wozek_po_sciezce(sciezka)
|
||||||
|
|
||||||
|
if grid_points.grid[(wiersz, kolumna)] is GridCellType.PLACE: #picks up package
|
||||||
|
if wozek.ln == 0:
|
||||||
|
wozek.picks_up_package()
|
||||||
|
wozek.dynamic_wozek_picture()
|
||||||
|
|
||||||
|
## wozek jedzie odlozyc paczke na regal
|
||||||
|
przenoszona_paczka = wozek.storage[-1]
|
||||||
|
|
||||||
|
array, reg = przenoszona_paczka.tablica_do_drzewa(przenoszona_paczka.kategoria)
|
||||||
|
|
||||||
|
plikZPrzecinkami = open("DecisionTree/training_data.txt", 'w')
|
||||||
|
|
||||||
|
with open('DecisionTree/200permutations_table.txt', 'r') as plik:
|
||||||
|
for linia in plik:
|
||||||
|
liczby = linia.strip()
|
||||||
|
wiersz = ""
|
||||||
|
licznik = 0
|
||||||
|
for liczba in liczby:
|
||||||
|
wiersz += liczba
|
||||||
|
wiersz += ";"
|
||||||
|
wiersz = wiersz[:-1]
|
||||||
|
wiersz += '\n'
|
||||||
|
plikZPrzecinkami.write(wiersz)
|
||||||
|
|
||||||
|
plikZPrzecinkami.close()
|
||||||
|
x = pd.read_csv('DecisionTree/training_data.txt', delimiter=';',
|
||||||
|
names=['wielkosc', 'waga,', 'priorytet', 'ksztalt', 'kruchosc', 'dolna', 'gorna', 'g > d'])
|
||||||
|
y = pd.read_csv('DecisionTree/decisions.txt', names=['polka'])
|
||||||
|
clf = DecisionTreeClassifier(criterion='entropy')
|
||||||
|
clf.fit(x.values, y.values)
|
||||||
|
|
||||||
|
predictions = clf.predict([array])
|
||||||
|
if predictions == 0:
|
||||||
|
print('odklada na dolna polke!')
|
||||||
|
else:
|
||||||
|
print('odklada na gorna polke!')
|
||||||
|
|
||||||
|
docelowy_stan = wyszukiwanie.Stan(reg.numerWiersza * 70, reg.numerKolumny * 70, 1) # x1 i y1 bo to są regału kategorii ogród
|
||||||
|
wezel = wyszukiwanie.wyszukiwanie_a_star(wozek.obecnyStan, docelowy_stan, grid_points)
|
||||||
|
sciezka = wyszukiwanie.znajdz_sciezke(wezel)
|
||||||
|
wozek.przemiesc_wozek_po_sciezce(sciezka)
|
||||||
|
|
||||||
|
if wozek.ln != 0: # drops package
|
||||||
|
wozek.drops_package(przenoszona_paczka, reg, predictions)
|
||||||
|
wozek.dynamic_wozek_picture()
|
||||||
|
|
||||||
|
if event.type == pygame.MOUSEBUTTONDOWN:
|
||||||
|
# lewy przycisk myszy
|
||||||
|
if event.button == 1:
|
||||||
|
x = pygame.mouse.get_pos()[0]
|
||||||
|
y = pygame.mouse.get_pos()[1]
|
||||||
|
wiersz = ekran.sprawdz_ktory_wiersz(x)
|
||||||
|
kolumna = ekran.sprawdz_ktora_kolumna(y)
|
||||||
|
|
||||||
|
docelowy_stan = wyszukiwanie.Stan(wiersz * 70, kolumna * 70, 1)
|
||||||
|
|
||||||
|
#wezel = wyszukiwanie.wyszukiwanie_bfs(wozek.obecnyStan, docelowy_stan, grid_points)
|
||||||
|
wezel = wyszukiwanie.wyszukiwanie_a_star(wozek.obecnyStan, docelowy_stan, grid_points)
|
||||||
|
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.type == pygame.KEYDOWN:
|
||||||
if event.key == pygame.K_DOWN:
|
if event.key == pygame.K_DOWN:
|
||||||
wozek.y_change = 1
|
wozek.y_change = 1
|
||||||
@ -46,14 +128,14 @@ def main():
|
|||||||
if event.key == pygame.K_RIGHT or event.key == pygame.K_LEFT:
|
if event.key == pygame.K_RIGHT or event.key == pygame.K_LEFT:
|
||||||
wozek.x_change = 0
|
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:
|
||||||
wozek.load_package()
|
# wozek.load_package()
|
||||||
wozek.dynamic_wozek_picture()
|
# wozek.dynamic_wozek_picture()
|
||||||
else:
|
# else:
|
||||||
wozek.drop_package()
|
# wozek.drop_package()
|
||||||
wozek.dynamic_wozek_picture()
|
# wozek.dynamic_wozek_picture()
|
||||||
|
|
||||||
wozek.obecnyStan.x += wozek.x_change
|
wozek.obecnyStan.x += wozek.x_change
|
||||||
wozek.obecnyStan.y += wozek.y_change
|
wozek.obecnyStan.y += wozek.y_change
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
from paczka import Paczka
|
# from paczka import Paczka
|
||||||
|
|
||||||
class listOfPackages:
|
class listOfPackages:
|
||||||
list = []
|
list = []
|
||||||
@ -15,9 +15,12 @@ class listOfPackages:
|
|||||||
self.package_group.remove(last_package)
|
self.package_group.remove(last_package)
|
||||||
|
|
||||||
|
|
||||||
def zainicjuj_liste_paczek(init_x, init_y):
|
# def zainicjuj_liste_paczek(init_x, init_y):
|
||||||
packageList = listOfPackages()
|
# packageList = listOfPackages()
|
||||||
demo_paczka = Paczka('duzy', 10, any, False, True, False, any, any, any, any, any)
|
# demo_paczka = Paczka('duzy', 10, any, False, True, False, any, any, any, any, any)
|
||||||
demo_paczka.update_position(init_x, init_y)
|
# demo_paczka.update_position(init_x, init_y)
|
||||||
packageList.add(demo_paczka)
|
# packageList.add(demo_paczka)
|
||||||
return packageList
|
# return packageList
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
55
paczka.py
55
paczka.py
@ -1,9 +1,9 @@
|
|||||||
from etykieta import Etykieta
|
from etykieta import Etykieta
|
||||||
import pygame
|
import pygame
|
||||||
|
import ekran
|
||||||
|
|
||||||
|
|
||||||
class Paczka(pygame.sprite.Sprite):
|
class Paczka(pygame.sprite.Sprite):
|
||||||
|
|
||||||
def __init__(self, rozmiar, waga, kategoria, priorytet, ksztalt, kruchosc, nadawca, adres, imie, nazwisko, telefon):
|
def __init__(self, rozmiar, waga, kategoria, priorytet, ksztalt, kruchosc, nadawca, adres, imie, nazwisko, telefon):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.rozmiar = rozmiar
|
self.rozmiar = rozmiar
|
||||||
@ -34,6 +34,7 @@ class Paczka(pygame.sprite.Sprite):
|
|||||||
self.x = 430
|
self.x = 430
|
||||||
self.y = 400
|
self.y = 400
|
||||||
self.label = Etykieta(nadawca, adres, imie, nazwisko, telefon, priorytet)
|
self.label = Etykieta(nadawca, adres, imie, nazwisko, telefon, priorytet)
|
||||||
|
self.is_in_move = False
|
||||||
|
|
||||||
# zmienia rozmiar obrazka w zaleznosci od rozmiaru
|
# zmienia rozmiar obrazka w zaleznosci od rozmiaru
|
||||||
def __dobierz_rozmiar_obrazka(self):
|
def __dobierz_rozmiar_obrazka(self):
|
||||||
@ -69,3 +70,55 @@ class Paczka(pygame.sprite.Sprite):
|
|||||||
self.x = x
|
self.x = x
|
||||||
self.y = y
|
self.y = y
|
||||||
self.rect.topleft = (x, y)
|
self.rect.topleft = (x, y)
|
||||||
|
|
||||||
|
def tablica_do_drzewa(self, kategoria):
|
||||||
|
tablica = []
|
||||||
|
# rozmiar
|
||||||
|
if self.rozmiar == 'maly':
|
||||||
|
tablica.append(0)
|
||||||
|
elif self.rozmiar == 'sredni':
|
||||||
|
tablica.append(1)
|
||||||
|
else: tablica.append(2)
|
||||||
|
|
||||||
|
# waga
|
||||||
|
if self.waga <= 2:
|
||||||
|
tablica.append(0)
|
||||||
|
elif self.waga <= 10:
|
||||||
|
tablica.append(1)
|
||||||
|
else: tablica.append(2)
|
||||||
|
|
||||||
|
# piorytet
|
||||||
|
if self.priorytet is True:
|
||||||
|
tablica.append(0)
|
||||||
|
else: tablica.append(1)
|
||||||
|
|
||||||
|
# kształt
|
||||||
|
if self.ksztalt is True:
|
||||||
|
tablica.append(0)
|
||||||
|
else: tablica.append(1)
|
||||||
|
|
||||||
|
# kruchość
|
||||||
|
if self.kruchosc is True:
|
||||||
|
tablica.append(0)
|
||||||
|
else: tablica.append(1)
|
||||||
|
|
||||||
|
reg = ekran.zwroc_regaly_kategoria(kategoria)
|
||||||
|
# czy dolna wolna
|
||||||
|
if reg[0].is_dolna_free() is True:
|
||||||
|
tablica.append(0)
|
||||||
|
else:
|
||||||
|
tablica.append(1)
|
||||||
|
|
||||||
|
#czy górna wolna
|
||||||
|
if reg[0].is_dolna_free() is True:
|
||||||
|
tablica.append(0)
|
||||||
|
else:
|
||||||
|
tablica.append(1)
|
||||||
|
|
||||||
|
# czy na górnej więcej miejsca
|
||||||
|
if reg[0].is_dolna_free() is True:
|
||||||
|
tablica.append(0)
|
||||||
|
else:
|
||||||
|
tablica.append(1)
|
||||||
|
|
||||||
|
return tablica, reg[0]
|
@ -2,7 +2,7 @@ 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 = 73
|
pixele = 70
|
||||||
while (i < wymiar):
|
while (i < wymiar):
|
||||||
pixele = pixele + 70
|
pixele = pixele + 70
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
48
regal.py
48
regal.py
@ -1,5 +1,6 @@
|
|||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
|
MAX_STORAGE = 3
|
||||||
|
|
||||||
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
|
||||||
@ -13,19 +14,20 @@ def obliczPixeleNaPodstawieKratek(wymiar): #Przeliczanie współrzędnych podany
|
|||||||
def obliczPixeleDlugosciRegalu(self): #Przeliczanie dlugości regału podanego w kratkach na pixele
|
def obliczPixeleDlugosciRegalu(self): #Przeliczanie dlugości regału podanego w kratkach na pixele
|
||||||
i = 1
|
i = 1
|
||||||
dlugoscRegalu = 40
|
dlugoscRegalu = 40
|
||||||
while (i < self.dlugoscRegaluWKratkach) and (i <= 11 - self.numerKolumny): #Sprawdzenie, żeby regał nie wychodził poza plansze, jeżeli tak to jest ucinany tak, żeby nie wychodził
|
while (i < 1) and (i <= 11 - self.numerKolumny): #Sprawdzenie, żeby regał nie wychodził poza plansze, jeżeli tak to jest ucinany tak, żeby nie wychodził
|
||||||
dlugoscRegalu = dlugoscRegalu + 80
|
dlugoscRegalu = dlugoscRegalu + 80
|
||||||
i = i + 1
|
i = i + 1
|
||||||
return dlugoscRegalu
|
return dlugoscRegalu
|
||||||
|
|
||||||
class Regal(pygame.sprite.Sprite):
|
class Regal(pygame.sprite.Sprite):
|
||||||
def __init__(self, numerRegalu, dlugoscRegaluWKratkach, numerWiersza, numerKolumny):
|
|
||||||
|
def __init__(self, nazwaRegalu, numerWiersza, numerKolumny):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
from ekran import screen
|
from ekran import screen
|
||||||
self.numerRegalu = numerRegalu
|
self.nazwaRegalu = nazwaRegalu
|
||||||
self.wysokoscRegalu = 64
|
self.wysokoscRegalu = 64
|
||||||
self.dlugoscRegaluWKratkach = dlugoscRegaluWKratkach
|
|
||||||
self.numerKolumny = numerKolumny
|
self.numerKolumny = numerKolumny
|
||||||
|
self.numerWiersza = numerWiersza
|
||||||
|
|
||||||
self.wiersz = obliczPixeleNaPodstawieKratek(numerWiersza)
|
self.wiersz = obliczPixeleNaPodstawieKratek(numerWiersza)
|
||||||
self.kolumna = obliczPixeleNaPodstawieKratek(numerKolumny)
|
self.kolumna = obliczPixeleNaPodstawieKratek(numerKolumny)
|
||||||
@ -37,27 +39,57 @@ class Regal(pygame.sprite.Sprite):
|
|||||||
"gorna": package_storage
|
"gorna": package_storage
|
||||||
}
|
}
|
||||||
|
|
||||||
if(self.numerRegalu >= 0 and self.numerRegalu <= 4):
|
|
||||||
|
storage_dolna = []
|
||||||
|
storage_gorna = []
|
||||||
|
|
||||||
|
self.dolna = storage_dolna
|
||||||
|
self.gorna = storage_gorna
|
||||||
|
|
||||||
|
if(self.nazwaRegalu == 'ogród'):
|
||||||
reg = pygame.Surface([self.dlugosc, self.wysokoscRegalu])
|
reg = pygame.Surface([self.dlugosc, self.wysokoscRegalu])
|
||||||
reg = pygame.image.load("images/regal.png")
|
reg = pygame.image.load("images/regal.png")
|
||||||
self.rect = reg.get_rect()
|
self.rect = reg.get_rect()
|
||||||
screen.blit(reg, (self.wiersz, self.kolumna))
|
screen.blit(reg, (self.wiersz, self.kolumna))
|
||||||
|
|
||||||
if(self.numerRegalu >= 5 and self.numerRegalu <= 8):
|
if(self.nazwaRegalu == 'narzedzia'):
|
||||||
reg = pygame.Surface([self.dlugosc, self.wysokoscRegalu])
|
reg = pygame.Surface([self.dlugosc, self.wysokoscRegalu])
|
||||||
reg = pygame.image.load("images/regal1.png")
|
reg = pygame.image.load("images/regal1.png")
|
||||||
self.rect = reg.get_rect()
|
self.rect = reg.get_rect()
|
||||||
screen.blit(reg, (self.wiersz, self.kolumna))
|
screen.blit(reg, (self.wiersz, self.kolumna))
|
||||||
|
|
||||||
if(self.numerRegalu >= 9 and self.numerRegalu <= 12):
|
if(self.nazwaRegalu == 'kuchnia'):
|
||||||
reg = pygame.Surface([self.dlugosc, self.wysokoscRegalu])
|
reg = pygame.Surface([self.dlugosc, self.wysokoscRegalu])
|
||||||
reg = pygame.image.load("images/regal2.png")
|
reg = pygame.image.load("images/regal2.png")
|
||||||
self.rect = reg.get_rect()
|
self.rect = reg.get_rect()
|
||||||
screen.blit(reg, (self.wiersz, self.kolumna))
|
screen.blit(reg, (self.wiersz, self.kolumna))
|
||||||
|
|
||||||
if(self.numerRegalu >= 13 and self.numerRegalu <= 16):
|
if(self.nazwaRegalu == 'motoryzacja'):
|
||||||
reg = pygame.Surface([self.dlugosc, self.wysokoscRegalu])
|
reg = pygame.Surface([self.dlugosc, self.wysokoscRegalu])
|
||||||
reg = pygame.image.load("images/regal3.png")
|
reg = pygame.image.load("images/regal3.png")
|
||||||
self.rect = reg.get_rect()
|
self.rect = reg.get_rect()
|
||||||
screen.blit(reg, (self.wiersz, self.kolumna))
|
screen.blit(reg, (self.wiersz, self.kolumna))
|
||||||
|
|
||||||
|
def is_dolna_free(self):
|
||||||
|
if len(self.dolna) <= MAX_STORAGE:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def is_gorna_free(self):
|
||||||
|
if len(self.gorna) <= MAX_STORAGE:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def czy_na_gornej_wiecej_miejsca(self):
|
||||||
|
if len(self.gorna) > len(self.dolna):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def put_package_on_the_regal(self, package, where):
|
||||||
|
if(where == 0):
|
||||||
|
self.dolna.append(package)
|
||||||
|
else:
|
||||||
|
self.gorna.append(package)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
200
training_data.txt
Normal file
200
training_data.txt
Normal file
@ -0,0 +1,200 @@
|
|||||||
|
1;0;0;1;0;0;1;0
|
||||||
|
0;0;1;0;1;1;0;1
|
||||||
|
2;0;1;1;0;0;0;1
|
||||||
|
2;2;1;0;1;1;1;0
|
||||||
|
1;0;0;1;0;0;0;1
|
||||||
|
2;1;0;0;1;1;0;0
|
||||||
|
1;0;0;0;1;0;0;1
|
||||||
|
1;1;0;1;0;0;0;1
|
||||||
|
0;0;1;0;1;1;1;0
|
||||||
|
0;2;0;0;0;1;1;0
|
||||||
|
0;0;1;0;0;1;0;1
|
||||||
|
0;0;0;0;0;1;1;0
|
||||||
|
0;2;1;0;1;1;0;0
|
||||||
|
2;0;0;0;1;0;0;0
|
||||||
|
2;1;0;1;0;1;1;1
|
||||||
|
0;1;1;0;1;1;1;0
|
||||||
|
0;2;0;1;1;1;0;1
|
||||||
|
1;2;1;0;1;1;0;0
|
||||||
|
0;0;1;1;1;1;0;1
|
||||||
|
0;0;0;1;1;0;0;1
|
||||||
|
1;1;1;1;1;0;1;0
|
||||||
|
1;2;1;0;0;1;1;1
|
||||||
|
2;2;1;1;0;1;1;1
|
||||||
|
1;2;1;0;1;1;0;1
|
||||||
|
0;1;0;0;0;1;0;1
|
||||||
|
1;1;0;0;0;1;0;1
|
||||||
|
0;1;0;0;0;1;1;1
|
||||||
|
2;1;0;1;0;1;0;1
|
||||||
|
0;1;1;0;1;1;0;0
|
||||||
|
2;1;0;1;0;1;1;0
|
||||||
|
1;2;1;0;0;0;1;1
|
||||||
|
1;2;0;1;0;1;1;1
|
||||||
|
0;2;0;1;0;1;0;1
|
||||||
|
2;1;1;0;1;1;1;1
|
||||||
|
0;2;0;1;0;0;0;1
|
||||||
|
0;1;1;0;0;1;1;0
|
||||||
|
2;2;1;0;0;0;1;1
|
||||||
|
1;0;0;0;0;0;1;0
|
||||||
|
0;0;1;1;0;1;0;0
|
||||||
|
2;2;0;1;1;1;0;0
|
||||||
|
1;2;1;1;0;0;0;1
|
||||||
|
1;2;0;1;0;0;1;1
|
||||||
|
0;1;0;1;1;1;1;0
|
||||||
|
0;1;0;0;1;1;0;0
|
||||||
|
0;1;0;1;1;0;0;0
|
||||||
|
1;1;1;0;1;1;0;1
|
||||||
|
1;1;1;1;0;1;1;0
|
||||||
|
2;1;1;1;0;1;1;0
|
||||||
|
2;2;0;0;1;1;0;0
|
||||||
|
1;0;0;1;0;1;0;1
|
||||||
|
2;1;1;1;1;0;1;0
|
||||||
|
0;0;0;0;1;1;0;0
|
||||||
|
2;1;1;1;0;1;0;1
|
||||||
|
1;2;1;1;1;0;1;1
|
||||||
|
0;2;0;0;1;1;1;1
|
||||||
|
2;1;0;1;1;0;0;0
|
||||||
|
0;2;1;1;1;0;1;1
|
||||||
|
1;2;0;1;1;1;1;0
|
||||||
|
0;2;0;0;0;1;0;1
|
||||||
|
1;2;0;0;0;1;0;0
|
||||||
|
2;0;0;1;0;1;1;1
|
||||||
|
2;1;1;0;0;0;1;1
|
||||||
|
0;1;1;1;0;1;0;0
|
||||||
|
2;1;0;1;1;1;0;0
|
||||||
|
0;2;0;1;0;0;0;0
|
||||||
|
2;1;0;0;1;0;0;1
|
||||||
|
1;1;0;0;1;1;0;0
|
||||||
|
2;0;0;1;0;0;1;1
|
||||||
|
2;0;1;1;1;0;1;1
|
||||||
|
2;2;0;1;1;0;0;0
|
||||||
|
0;1;0;1;1;1;0;1
|
||||||
|
1;0;1;1;1;0;0;0
|
||||||
|
2;0;0;1;1;1;1;1
|
||||||
|
1;0;0;0;0;0;0;1
|
||||||
|
2;1;1;0;0;0;0;1
|
||||||
|
0;0;0;0;1;1;0;1
|
||||||
|
0;1;0;1;0;0;0;1
|
||||||
|
2;2;0;1;0;0;0;0
|
||||||
|
0;2;1;1;1;1;0;1
|
||||||
|
2;2;1;0;0;1;1;0
|
||||||
|
1;2;0;0;1;1;1;0
|
||||||
|
0;1;1;1;0;0;0;1
|
||||||
|
1;1;1;0;1;0;0;0
|
||||||
|
2;0;1;1;0;0;1;1
|
||||||
|
2;0;1;0;1;0;1;0
|
||||||
|
2;2;0;0;0;1;1;0
|
||||||
|
1;1;0;1;1;0;1;1
|
||||||
|
2;0;0;0;0;0;1;1
|
||||||
|
1;2;0;0;1;1;0;1
|
||||||
|
1;2;1;1;0;0;0;0
|
||||||
|
0;0;1;1;1;1;1;0
|
||||||
|
0;2;1;1;0;1;0;0
|
||||||
|
2;1;1;0;0;0;1;0
|
||||||
|
1;0;0;1;1;0;0;0
|
||||||
|
2;2;0;1;1;1;0;1
|
||||||
|
2;0;0;1;1;1;0;0
|
||||||
|
0;2;1;0;0;0;0;0
|
||||||
|
1;2;1;1;1;0;0;1
|
||||||
|
0;0;0;0;0;1;1;1
|
||||||
|
2;2;1;1;1;0;1;1
|
||||||
|
0;1;0;0;1;0;1;0
|
||||||
|
2;1;1;0;1;1;0;0
|
||||||
|
0;1;1;1;1;1;1;1
|
||||||
|
1;2;1;1;1;0;1;0
|
||||||
|
2;0;1;1;1;1;1;0
|
||||||
|
1;0;1;1;0;0;1;0
|
||||||
|
0;2;0;0;1;0;0;1
|
||||||
|
2;2;0;0;0;1;0;0
|
||||||
|
0;2;0;0;1;1;0;0
|
||||||
|
0;1;0;0;0;0;1;1
|
||||||
|
1;0;0;0;0;1;0;1
|
||||||
|
2;1;0;0;0;0;1;0
|
||||||
|
0;1;1;0;0;1;0;0
|
||||||
|
1;0;1;0;1;0;1;0
|
||||||
|
2;0;0;0;1;1;0;0
|
||||||
|
0;0;0;0;0;0;0;0
|
||||||
|
0;0;1;0;1;0;0;0
|
||||||
|
1;0;1;0;0;0;0;0
|
||||||
|
0;2;1;0;0;0;0;1
|
||||||
|
2;0;0;1;1;1;0;1
|
||||||
|
0;2;0;1;1;1;1;0
|
||||||
|
0;2;1;1;1;1;1;1
|
||||||
|
1;2;0;1;0;1;1;0
|
||||||
|
0;2;1;0;0;1;0;0
|
||||||
|
2;0;1;1;1;1;1;1
|
||||||
|
0;0;0;1;1;1;1;1
|
||||||
|
1;2;0;1;1;0;0;0
|
||||||
|
1;2;0;1;1;0;0;1
|
||||||
|
2;2;0;1;0;0;1;0
|
||||||
|
2;2;0;0;0;0;1;0
|
||||||
|
0;0;0;1;0;0;1;0
|
||||||
|
1;0;1;0;1;0;0;0
|
||||||
|
0;2;0;0;0;0;0;0
|
||||||
|
2;0;1;0;1;1;1;1
|
||||||
|
0;2;1;0;0;0;1;1
|
||||||
|
0;2;1;0;1;1;1;1
|
||||||
|
2;2;1;0;1;0;1;0
|
||||||
|
1;1;1;1;1;1;1;1
|
||||||
|
0;1;1;0;1;0;0;0
|
||||||
|
2;1;1;0;0;1;1;1
|
||||||
|
0;0;1;0;1;1;1;1
|
||||||
|
0;1;1;0;1;0;1;0
|
||||||
|
2;0;0;1;0;0;1;0
|
||||||
|
1;1;0;1;1;1;1;0
|
||||||
|
2;0;0;1;1;1;1;0
|
||||||
|
0;0;1;0;0;1;1;0
|
||||||
|
1;0;1;0;1;1;1;1
|
||||||
|
0;1;0;0;0;0;0;1
|
||||||
|
0;2;0;1;1;0;0;1
|
||||||
|
2;1;1;0;1;0;1;1
|
||||||
|
1;1;1;1;1;0;1;1
|
||||||
|
1;0;1;1;0;0;1;1
|
||||||
|
1;0;0;1;1;0;0;1
|
||||||
|
2;1;1;1;0;0;1;0
|
||||||
|
1;0;0;0;0;0;0;0
|
||||||
|
0;0;0;1;1;1;1;0
|
||||||
|
1;0;1;1;0;0;0;1
|
||||||
|
2;1;1;1;1;0;1;1
|
||||||
|
1;2;0;1;0;1;0;1
|
||||||
|
1;1;0;0;0;1;1;0
|
||||||
|
2;2;1;0;1;1;0;1
|
||||||
|
0;0;0;0;0;0;1;0
|
||||||
|
0;2;0;0;0;1;1;1
|
||||||
|
2;1;0;0;0;0;1;1
|
||||||
|
0;0;0;1;1;1;0;0
|
||||||
|
1;0;1;0;0;1;1;0
|
||||||
|
2;0;0;0;1;1;1;1
|
||||||
|
1;2;1;0;0;0;0;1
|
||||||
|
2;2;0;0;0;1;0;1
|
||||||
|
0;1;1;0;0;0;1;0
|
||||||
|
0;2;0;0;1;0;1;0
|
||||||
|
1;1;0;0;1;1;1;1
|
||||||
|
0;0;0;1;0;0;1;1
|
||||||
|
0;1;1;0;0;1;1;1
|
||||||
|
2;2;0;1;1;0;1;0
|
||||||
|
1;0;1;0;1;0;1;1
|
||||||
|
1;1;0;1;0;0;1;1
|
||||||
|
2;0;1;1;0;0;1;0
|
||||||
|
2;0;1;0;0;0;1;0
|
||||||
|
1;1;1;1;0;1;1;1
|
||||||
|
2;1;1;0;1;0;0;0
|
||||||
|
0;2;0;1;1;0;0;0
|
||||||
|
1;2;1;1;0;1;0;0
|
||||||
|
2;1;1;1;1;1;0;1
|
||||||
|
0;2;0;1;0;1;1;1
|
||||||
|
0;2;1;0;1;0;0;1
|
||||||
|
0;1;1;0;0;0;1;1
|
||||||
|
1;0;0;1;1;0;1;1
|
||||||
|
2;2;1;1;0;0;0;0
|
||||||
|
0;1;1;0;0;0;0;0
|
||||||
|
2;0;1;1;0;1;0;0
|
||||||
|
0;1;1;0;0;0;0;1
|
||||||
|
0;0;1;1;1;0;1;0
|
||||||
|
0;2;0;0;0;0;1;0
|
||||||
|
2;0;0;1;0;1;1;0
|
||||||
|
0;0;1;0;1;0;1;1
|
||||||
|
2;2;0;0;1;0;1;1
|
||||||
|
2;2;0;1;0;0;0;1
|
||||||
|
2;2;0;1;0;1;0;1
|
||||||
|
1;2;1;0;0;1;0;1
|
32
wozek.py
32
wozek.py
@ -1,7 +1,9 @@
|
|||||||
import ekran
|
import ekran
|
||||||
import pygame,math
|
import pygame,math
|
||||||
from packageList import listOfPackages
|
# from packageList import listOfPackages
|
||||||
|
from ekran import lista_paczek
|
||||||
|
|
||||||
|
listOfPackages = lista_paczek
|
||||||
|
|
||||||
class Wozek(pygame.sprite.Sprite):
|
class Wozek(pygame.sprite.Sprite):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -61,11 +63,18 @@ class Wozek(pygame.sprite.Sprite):
|
|||||||
|
|
||||||
|
|
||||||
def load_package(self):
|
def load_package(self):
|
||||||
for package in listOfPackages.list:
|
#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)
|
dist = math.sqrt((self.obecnyStan.x - package.x)**2 + (self.obecnyStan.y - package.y)**2)
|
||||||
if dist <= 50:
|
if dist <= 50:
|
||||||
self.add_element(package)
|
self.add_element(package)
|
||||||
listOfPackages.list.pop()
|
# listOfPackages.list.pop()
|
||||||
|
|
||||||
def load_packages_collision(self):
|
def load_packages_collision(self):
|
||||||
pass
|
pass
|
||||||
@ -80,7 +89,8 @@ class Wozek(pygame.sprite.Sprite):
|
|||||||
if package is not None:
|
if package is not None:
|
||||||
package.x = self.obecnyStan.x
|
package.x = self.obecnyStan.x
|
||||||
package.y = self.obecnyStan.y
|
package.y = self.obecnyStan.y
|
||||||
listOfPackages.list.append(package)
|
# listOfPackages.list.append(package)
|
||||||
|
listOfPackages.append(package)
|
||||||
|
|
||||||
def __zainicjuj_stan_poczatkowy(self):
|
def __zainicjuj_stan_poczatkowy(self):
|
||||||
from wyszukiwanie import Stan
|
from wyszukiwanie import Stan
|
||||||
@ -112,3 +122,17 @@ class Wozek(pygame.sprite.Sprite):
|
|||||||
else:
|
else:
|
||||||
self.image = pygame.transform.rotate(self.image, 90)
|
self.image = pygame.transform.rotate(self.image, 90)
|
||||||
|
|
||||||
|
def picks_up_package(self):
|
||||||
|
paczka_pop = ekran.lista_paczek.pop()
|
||||||
|
ekran.lista_paczek_na_regalach.append(paczka_pop)
|
||||||
|
paczka_pop.is_in_move = True
|
||||||
|
self.storage.append(paczka_pop)
|
||||||
|
self.ln = self.ln + 1
|
||||||
|
|
||||||
|
def drops_package(self, paczka, reg, predictions):
|
||||||
|
paczka.update_position(reg.numerWiersza*70, reg.numerKolumny*70)
|
||||||
|
paczka.is_in_move = False
|
||||||
|
self.storage.pop()
|
||||||
|
self.ln = self.ln - 1
|
||||||
|
reg.put_package_on_the_regal(paczka, predictions)
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ def znajdz_nastepcow(wezel, search_grid, ktory_algorytm):
|
|||||||
if ktory_algorytm == 1:
|
if ktory_algorytm == 1:
|
||||||
x1 = x / 70
|
x1 = x / 70
|
||||||
y1 = y / 70
|
y1 = y / 70
|
||||||
if search_grid.grid[(x1, y1)] is GridCellType.FREE:
|
if search_grid.grid[(x1, y1)] is GridCellType.FREE or search_grid.grid[(x1, y1)] is GridCellType.PLACE:
|
||||||
wezly.append(ruch_w_przod)
|
wezly.append(ruch_w_przod)
|
||||||
else:
|
else:
|
||||||
wezly.append(ruch_w_przod)
|
wezly.append(ruch_w_przod)
|
||||||
@ -131,7 +131,7 @@ def wyszukiwanie_a_star(poczatkowyStan, docelowyStan, search_grid):
|
|||||||
nastepca.g = g
|
nastepca.g = g
|
||||||
nastepca.h = h
|
nastepca.h = h
|
||||||
fringe[index] = nastepca
|
fringe[index] = nastepca
|
||||||
print(index)
|
# print(index)
|
||||||
# heapq.heapify(fringe)
|
# heapq.heapify(fringe)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@ -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 = 99999
|
wezel.waga = 1
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
Loading…
Reference in New Issue
Block a user