Compare commits
No commits in common. "master" and "fix_alg_gen" have entirely different histories.
master
...
fix_alg_ge
6
ekran.py
6
ekran.py
@ -108,8 +108,4 @@ def dodaj_na_rampe(p1, p2, l1, l2):
|
|||||||
p1.update_position(plansza.a_pix, plansza.b_pix)
|
p1.update_position(plansza.a_pix, plansza.b_pix)
|
||||||
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)
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 95 KiB |
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
Binary file not shown.
Before Width: | Height: | Size: 97 KiB |
151
main.py
151
main.py
@ -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,18 +35,61 @@ 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)
|
## 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)
|
||||||
|
|
||||||
if event.key == pygame.K_n:
|
## sprawdzenie czy lista itemow nie jest pusta
|
||||||
add_another_order(ekran, pred_list)
|
if ekran.lista_itemow:
|
||||||
wozek_serves_orders(wozek, grid_points, drzewo)
|
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:
|
||||||
# lewy przycisk myszy
|
# lewy przycisk myszy
|
||||||
if event.button == 1:
|
if event.button == 1:
|
||||||
x = pygame.mouse.get_pos()[0]
|
x = pygame.mouse.get_pos()[0]
|
||||||
@ -57,94 +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(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)
|
||||||
|
|
||||||
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, 'motoryzacja', False, True, False,
|
|
||||||
any, any, any, any, any, pred_list[6])
|
|
||||||
else:
|
|
||||||
order = Paczka('maly', 1, 'kuchnia', False, True, False,
|
|
||||||
any, any, any, any, any, pred_list[7])
|
|
||||||
else:
|
|
||||||
if random.random() < 0.5:
|
|
||||||
order = Letter(pred_list[5])
|
|
||||||
else:
|
|
||||||
order = Letter(pred_list[4])
|
|
||||||
|
|
||||||
ekran.dodaj_na_rampe_jedno(order)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user