From 5341f5330b22bfeaf14b4f3635f5f170eee200f4 Mon Sep 17 00:00:00 2001 From: s473561 Date: Mon, 29 May 2023 11:15:06 +0200 Subject: [PATCH] metody: picks_up_package() i drops_package() --- DecisionTree/drzewo_decyzyjne.py | 30 +++++ __pycache__/wozek.cpython-311.pyc | Bin 6825 -> 7918 bytes main.py | 21 +--- training_data.txt | 200 ++++++++++++++++++++++++++++++ wozek.py | 14 +++ 5 files changed, 249 insertions(+), 16 deletions(-) create mode 100644 training_data.txt diff --git a/DecisionTree/drzewo_decyzyjne.py b/DecisionTree/drzewo_decyzyjne.py index 6d4842d..add9cfe 100644 --- a/DecisionTree/drzewo_decyzyjne.py +++ b/DecisionTree/drzewo_decyzyjne.py @@ -3,6 +3,36 @@ import pandas as pd from sklearn.tree import DecisionTreeClassifier 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') with open('200permutations_table.txt', 'r') as plik: diff --git a/__pycache__/wozek.cpython-311.pyc b/__pycache__/wozek.cpython-311.pyc index bd1ce4491e21b3918df5e778be8259d5ae366662..21f255cb87c624505e12b8cbc412f445b8502bf6 100644 GIT binary patch delta 1067 zcmZ{iOKTHR6vt;KuS1%QY153;w5BP<#!zC>)Z8VrU1+gTl_6w?Ht%pJ5gQ^Y z(nZj2$_VYUE3LRG2#PyDLJ~$2f(1W-h@v0Bb0?ih)t(Ih%z55B_jg}k`gWOr<#sz6 zw3T#Gem=O(@3YUg->(ZYzsan4&Pl7hb3brrUvZF~tRP%T| ze34E#vXn);*%#0zd2c^kVI`XxuP`b5QD&fuj>AmITp3?0jPxhM;9{1=C2|%M5g;S@ zM=Vq(Q95EKsTSi>A)Y8JX(<<%h_V{b#1m^ILetKqDkXDLHvdQ==V;S7N`xbVk)&Pe zDt6}!Du`1! z68$&57|X~UqM_3aLmE~s;|U;3KExu5l-*3pmNH%sgwu;uxIG75xr$q;SpFGI(ODM> z?u(f>`AwnIapg)`g)Ao(qL$-F-mQG5l+CS^hgi^MMFAVYI%1(zG+9XboK##>x}YOg z17)>iH(16y7UbXQD-cCaCW^^?PF3l-1<|@_-7-Pg=B%=}%k@}r6C2bl$_CR0z6F6M z1a?(@bn<{}j9xsrs!w10c&9OaqX97;Vs(hMM;69vb{&SgKtXJR*Z{u{{yO-N(QHFs z3qnl@?cLkI-@6ZZCGasQM+B{3EINopKYdkuDo(L}?Vb4bLeORld}n&X+ibJcJz2C5 nLrcy)j-mHK-Ox_^uguSJEH?aKYx7&Tbyx6*k^Xf;k+H|$lP?S3 delta 184 zcmaE7yV8_zIWI340}xb(l%!+}P2^j_ST}KdC07SS1!I(OFoP!FW;e#GVoaJMlWk;5 zChw9lU}Tv5TIP*710Sm^;|C0KGKX9UR}#=XMj$Tknw%!*6j02_2vUlh>Tv7vy~3mL O5u)S^9+gFsKw|+~`Yn+F diff --git a/main.py b/main.py index b08e673..7c4ee17 100644 --- a/main.py +++ b/main.py @@ -44,18 +44,13 @@ def main(): if grid_points.grid[(wiersz, kolumna)] is GridCellType.PLACE: #picks up package if wozek.ln == 0: - paczka_pop = ekran.lista_paczek.pop() - ekran.lista_paczek_na_regalach.append(paczka_pop) - paczka_pop.is_in_move = True - wozek.storage.append(paczka_pop) - wozek.ln = wozek.ln + 1 + wozek.picks_up_package() wozek.dynamic_wozek_picture() - print(ekran.lista_paczek) - + ## wozek jedzie odlozyc paczke na regal - paczka1 = wozek.storage[-1] + przenoszona_paczka = wozek.storage[-1] - array, reg = paczka1.tablica_do_drzewa(paczka1.kategoria) + array, reg = przenoszona_paczka.tablica_do_drzewa(przenoszona_paczka.kategoria) plikZPrzecinkami = open("DecisionTree/training_data.txt", 'w') @@ -90,14 +85,8 @@ def main(): wozek.przemiesc_wozek_po_sciezce(sciezka) if wozek.ln != 0: # drops package - print(paczka1) - paczka1.update_position(reg.numerWiersza*70, reg.numerKolumny*70) - paczka_pop.is_in_move = False - wozek.storage.pop() - wozek.ln = wozek.ln - 1 - reg.put_package_on_the_regal(paczka1, predictions) + wozek.drops_package(przenoszona_paczka, reg, predictions) wozek.dynamic_wozek_picture() - ekran.odswiez_ekran(wozek) if event.type == pygame.MOUSEBUTTONDOWN: # lewy przycisk myszy diff --git a/training_data.txt b/training_data.txt new file mode 100644 index 0000000..06a4ff8 --- /dev/null +++ b/training_data.txt @@ -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 diff --git a/wozek.py b/wozek.py index 27f4dca..6965b98 100644 --- a/wozek.py +++ b/wozek.py @@ -121,4 +121,18 @@ class Wozek(pygame.sprite.Sprite): # obrot w lewo else: 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)