Compare commits

..

No commits in common. "c918e1007bfa17fcb1f319340a9e783df5b9ed66" and "07340db2b895e8c44c314ea566d1e3e47c76b84a" have entirely different histories.

2 changed files with 57 additions and 97 deletions

View File

@ -109,7 +109,3 @@ def dodaj_na_rampe(p1, p2, l1, l2):
p2.update_position(plansza.a_pix, plansza.b_pix) p2.update_position(plansza.a_pix, plansza.b_pix)
l1.update_position(plansza.a_pix, plansza.b_pix) l1.update_position(plansza.a_pix, plansza.b_pix)
l2.update_position(plansza.a_pix, plansza.b_pix) l2.update_position(plansza.a_pix, plansza.b_pix)
def dodaj_na_rampe_jedno(order):
lista_itemow.append(order)
order.update_position(plansza.a_pix, plansza.b_pix)

142
main.py
View File

@ -1,5 +1,4 @@
import sys import sys
import random
import joblib import joblib
import pygame import pygame
@ -20,10 +19,8 @@ pygame.init()
def main(): def main():
wozek = Wozek() wozek = Wozek()
pred_list = prediction.prediction_keys() pred_list = prediction.prediction_keys()
p1 = Paczka('duzy', 12, 'narzedzia', False, True, False, p1 = Paczka('duzy', 12, 'narzedzia', False, True, False, any, any, any, any, any, pred_list[3])
any, any, any, any, any, pred_list[3]) p2 = Paczka('maly', 1, 'ogród', False, True, False, any, any, any, any, any, pred_list[1])
p2 = Paczka('maly', 1, 'ogród', False, True, False,
any, any, any, any, any, pred_list[1])
l1 = Letter(pred_list[0]) l1 = Letter(pred_list[0])
l2 = Letter(pred_list[2]) l2 = Letter(pred_list[2])
ekran.dodaj_na_rampe(p2, l1, p1, l2) ekran.dodaj_na_rampe(p2, l1, p1, l2)
@ -38,15 +35,58 @@ def main():
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.KEYDOWN: if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE: if event.key == pygame.K_SPACE:
while len(ekran.lista_itemow) > 0:
wozek_serves_orders(wozek, grid_points, drzewo)
if event.key == pygame.K_n: ## wozek jedzie po itemy
add_another_order(ekran, pred_list) wiersz = ekran.sprawdz_ktory_wiersz(a_pix)
wozek_serves_orders(wozek, grid_points, drzewo) kolumna = ekran.sprawdz_ktora_kolumna(b_pix)
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)
## sprawdzenie czy lista itemow nie jest pusta
if ekran.lista_itemow:
if grid_points.grid[(wiersz, kolumna)] is GridCellType.PLACE: #picks up item
if wozek.ln == 0:
wozek.picks_up_item()
wozek.dynamic_wozek_picture()
przenoszony_item = wozek.storage[-1]
if (prediction.predict_one(przenoszony_item.img_path)=='package'):
## wozek jedzie odlozyc paczke na regal
przenoszona_paczka = przenoszony_item
array, reg = przenoszona_paczka.tablica_do_drzewa(przenoszona_paczka.kategoria)
predictions = drzewo.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)
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()
else:
#list przenoszony do skrzynki
docelowy_stan = wyszukiwanie.Stan(plansza.c_pix, plansza.d_pix, 1)
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 letter
wozek.drops_letter(przenoszony_item)
wozek.dynamic_wozek_picture()
if event.type == pygame.MOUSEBUTTONDOWN: if event.type == pygame.MOUSEBUTTONDOWN:
@ -57,91 +97,15 @@ def main():
wiersz = ekran.sprawdz_ktory_wiersz(x) wiersz = ekran.sprawdz_ktory_wiersz(x)
kolumna = ekran.sprawdz_ktora_kolumna(y) kolumna = ekran.sprawdz_ktora_kolumna(y)
docelowy_stan = wyszukiwanie.Stan( docelowy_stan = wyszukiwanie.Stan(wiersz * 70, kolumna * 70, 1)
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( wezel = wyszukiwanie.wyszukiwanie_a_star(wozek.obecnyStan, docelowy_stan, grid_points)
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)
ekran.odswiez_ekran(wozek) ekran.odswiez_ekran(wozek)
def wozek_serves_orders(wozek, grid_points, drzewo):
# wozek jedzie po itemy
wiersz = ekran.sprawdz_ktory_wiersz(a_pix)
kolumna = ekran.sprawdz_ktora_kolumna(b_pix)
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)
# sprawdzenie czy lista itemow nie jest pusta
if ekran.lista_itemow:
if grid_points.grid[(wiersz, kolumna)] is GridCellType.PLACE: # picks up item
if wozek.ln == 0:
wozek.picks_up_item()
wozek.dynamic_wozek_picture()
przenoszony_item = wozek.storage[-1]
if (prediction.predict_one(przenoszony_item.img_path) == 'package'):
# wozek jedzie odlozyc paczke na regal
przenoszona_paczka = przenoszony_item
array, reg = przenoszona_paczka.tablica_do_drzewa(
przenoszona_paczka.kategoria)
predictions = drzewo.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)
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()
else:
# list przenoszony do skrzynki
docelowy_stan = wyszukiwanie.Stan(
plansza.c_pix, plansza.d_pix, 1)
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 letter
wozek.drops_letter(przenoszony_item)
wozek.dynamic_wozek_picture()
def add_another_order(ekran, pred_list):
if random.random() < 0.5:
if random.random() < 0.5:
order = Paczka('duzy', 12, 'narzedzia', False, True, False,
any, any, any, any, any, pred_list[3])
else:
order = Paczka('maly', 1, 'ogród', False, True, False,
any, any, any, any, any, pred_list[1])
else:
order = Letter(pred_list[2])
ekran.dodaj_na_rampe_jedno(order)
if __name__ == "__main__": if __name__ == "__main__":
main() main()