drzewo generowane poza main
This commit is contained in:
parent
7bf768e6af
commit
d1ba1659c1
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"python.analysis.extraPaths": [
|
||||||
|
"./DecisionTree"
|
||||||
|
]
|
||||||
|
}
|
@ -1,87 +0,0 @@
|
|||||||
import graphviz
|
|
||||||
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("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'])
|
|
||||||
# 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)
|
|
||||||
|
|
||||||
|
|
||||||
# Predykcja na nowych danych
|
|
||||||
new_data = [[2, 2, 1, 0, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]]
|
|
||||||
predictions = clf.predict(new_data)
|
|
||||||
# y_pred = clf.predict(X_test)
|
|
||||||
|
|
||||||
|
|
||||||
print(predictions)
|
|
||||||
# print("Accuracy:", clf.score(new_data, predictions))
|
|
||||||
# print("Accuracy:", metrics.accuracy_score(y_test, y_pred))
|
|
||||||
|
|
||||||
|
|
||||||
# Wygenerowanie pliku .dot reprezentującego drzewo
|
|
||||||
dot_data = export_graphviz(clf, out_file=None, feature_names=list(x.columns), class_names=['0', '1'], filled=True,
|
|
||||||
rounded=True)
|
|
||||||
|
|
||||||
# Tworzenie obiektu graphviz z pliku .dot
|
|
||||||
graph = graphviz.Source(dot_data)
|
|
||||||
|
|
||||||
# Wyświetlanie drzewa
|
|
||||||
graph.view()
|
|
||||||
|
|
||||||
z = pd.concat([x, y], axis=1)
|
|
||||||
z.to_csv('dane.csv', index=False)
|
|
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.
58
drzewo_decyzyjne.py
Normal file
58
drzewo_decyzyjne.py
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
import graphviz
|
||||||
|
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
|
||||||
|
|
||||||
|
# # Predykcja na nowych danych
|
||||||
|
# new_data = [[2, 2, 1, 0, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]]
|
||||||
|
# predictions = clf.predict(new_data)
|
||||||
|
# # y_pred = clf.predict(X_test)
|
||||||
|
|
||||||
|
|
||||||
|
# print(predictions)
|
||||||
|
# # print("Accuracy:", clf.score(new_data, predictions))
|
||||||
|
# # print("Accuracy:", metrics.accuracy_score(y_test, y_pred))
|
||||||
|
|
||||||
|
|
||||||
|
# Wygenerowanie pliku .dot reprezentującego drzewo
|
||||||
|
# dot_data = export_graphviz(clf, out_file=None, feature_names=list(x.columns), class_names=['0', '1'], filled=True,
|
||||||
|
# rounded=True)
|
||||||
|
|
||||||
|
# # Tworzenie obiektu graphviz z pliku .dot
|
||||||
|
# graph = graphviz.Source(dot_data)
|
||||||
|
|
||||||
|
# # Wyświetlanie drzewa
|
||||||
|
# graph.view()
|
||||||
|
|
||||||
|
# z = pd.concat([x, y], axis=1)
|
||||||
|
# z.to_csv('dane.csv', index=False)
|
20
ekran.py
20
ekran.py
@ -1,10 +1,7 @@
|
|||||||
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
|
||||||
from regal import Regal, obliczPixeleNaPodstawieKratek
|
from regal import Regal, obliczPixeleNaPodstawieKratek
|
||||||
# import wozek
|
|
||||||
from packageList import *
|
from packageList import *
|
||||||
# from paczka import Paczka
|
|
||||||
|
|
||||||
EKRAN_SZEROKOSC = 770
|
EKRAN_SZEROKOSC = 770
|
||||||
EKRAN_WYSOKOSC = 770
|
EKRAN_WYSOKOSC = 770
|
||||||
@ -15,9 +12,6 @@ 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 = listOfPackages()
|
|
||||||
lista_paczek = []
|
lista_paczek = []
|
||||||
lista_paczek_na_regalach = []
|
lista_paczek_na_regalach = []
|
||||||
|
|
||||||
@ -52,11 +46,6 @@ def zwroc_regaly_kategoria(kategoria):
|
|||||||
lista_reg.append(reg)
|
lista_reg.append(reg)
|
||||||
return lista_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
|
||||||
WHITE = (200, 200, 200)
|
WHITE = (200, 200, 200)
|
||||||
@ -94,9 +83,6 @@ def sprawdz_ktora_kolumna(y):
|
|||||||
|
|
||||||
|
|
||||||
def narysuj_paczki(wozek):
|
def narysuj_paczki(wozek):
|
||||||
#if wozek.ln == 0:
|
|
||||||
#for paczka in lista_paczek.list:
|
|
||||||
#if len(lista_paczek_na_regalach) == 0:
|
|
||||||
for paczka in lista_paczek:
|
for paczka in lista_paczek:
|
||||||
paczka.narysuj(paczka.x, paczka.y, screen)
|
paczka.narysuj(paczka.x, paczka.y, screen)
|
||||||
|
|
||||||
@ -104,3 +90,9 @@ def narysuj_paczke_na_regale():
|
|||||||
for paczka in lista_paczek_na_regalach:
|
for paczka in lista_paczek_na_regalach:
|
||||||
if paczka.is_in_move is False:
|
if paczka.is_in_move is False:
|
||||||
paczka.narysuj(paczka.x, paczka.y, screen)
|
paczka.narysuj(paczka.x, paczka.y, screen)
|
||||||
|
|
||||||
|
def dodaj_paczki_na_rampe(p1, p2):
|
||||||
|
lista_paczek.append(p1)
|
||||||
|
lista_paczek.append(p2)
|
||||||
|
p1.update_position(a_pix, b_pix)
|
||||||
|
p2.update_position(a_pix, b_pix)
|
||||||
|
33
main.py
33
main.py
@ -7,6 +7,7 @@ import ekran
|
|||||||
from grid import GridCellType, SearchGrid
|
from grid import GridCellType, SearchGrid
|
||||||
from sklearn.tree import DecisionTreeClassifier
|
from sklearn.tree import DecisionTreeClassifier
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
import drzewo_decyzyjne
|
||||||
|
|
||||||
from plansza import a_pix, b_pix
|
from plansza import a_pix, b_pix
|
||||||
pygame.init()
|
pygame.init()
|
||||||
@ -14,15 +15,11 @@ pygame.init()
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
wozek = Wozek()
|
wozek = Wozek()
|
||||||
|
|
||||||
p1 = Paczka('duzy', 12, 'narzedzia', False, True, False, any, any, any, any, any)
|
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)
|
p2 = Paczka('maly', 1, 'ogród', False, True, False, any, any, any, any, any)
|
||||||
ekran.lista_paczek.append(p1)
|
ekran.dodaj_paczki_na_rampe(p1, p2)
|
||||||
ekran.lista_paczek.append(p2)
|
|
||||||
p1.update_position(a_pix, b_pix)
|
|
||||||
p2.update_position(a_pix, b_pix)
|
|
||||||
|
|
||||||
grid_points = SearchGrid()
|
grid_points = SearchGrid()
|
||||||
|
drzewo = drzewo_decyzyjne.make_tree()
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
for event in pygame.event.get():
|
for event in pygame.event.get():
|
||||||
@ -52,34 +49,14 @@ def main():
|
|||||||
|
|
||||||
array, reg = przenoszona_paczka.tablica_do_drzewa(przenoszona_paczka.kategoria)
|
array, reg = przenoszona_paczka.tablica_do_drzewa(przenoszona_paczka.kategoria)
|
||||||
|
|
||||||
plikZPrzecinkami = open("DecisionTree/training_data.txt", 'w')
|
predictions = drzewo.predict([array])
|
||||||
|
|
||||||
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:
|
if predictions == 0:
|
||||||
print('odklada na dolna polke!')
|
print('odklada na dolna polke!')
|
||||||
else:
|
else:
|
||||||
print('odklada na gorna polke!')
|
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
|
docelowy_stan = wyszukiwanie.Stan(reg.numerWiersza * 70, reg.numerKolumny * 70, 1)
|
||||||
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)
|
||||||
|
26
paczka.py
26
paczka.py
@ -89,36 +89,36 @@ class Paczka(pygame.sprite.Sprite):
|
|||||||
|
|
||||||
# piorytet
|
# piorytet
|
||||||
if self.priorytet is True:
|
if self.priorytet is True:
|
||||||
tablica.append(0)
|
tablica.append(1)
|
||||||
else: tablica.append(1)
|
else: tablica.append(0)
|
||||||
|
|
||||||
# kształt
|
# kształt
|
||||||
if self.ksztalt is True:
|
if self.ksztalt is True:
|
||||||
tablica.append(0)
|
tablica.append(1)
|
||||||
else: tablica.append(1)
|
else: tablica.append(0)
|
||||||
|
|
||||||
# kruchość
|
# kruchość
|
||||||
if self.kruchosc is True:
|
if self.kruchosc is True:
|
||||||
tablica.append(0)
|
tablica.append(1)
|
||||||
else: tablica.append(1)
|
else: tablica.append(0)
|
||||||
|
|
||||||
reg = ekran.zwroc_regaly_kategoria(kategoria)
|
reg = ekran.zwroc_regaly_kategoria(kategoria)
|
||||||
# czy dolna wolna
|
# czy dolna wolna
|
||||||
if reg[0].is_dolna_free() is True:
|
if reg[0].is_dolna_free() is True:
|
||||||
tablica.append(0)
|
|
||||||
else:
|
|
||||||
tablica.append(1)
|
tablica.append(1)
|
||||||
|
else:
|
||||||
|
tablica.append(0)
|
||||||
|
|
||||||
#czy górna wolna
|
#czy górna wolna
|
||||||
if reg[0].is_dolna_free() is True:
|
if reg[0].is_dolna_free() is True:
|
||||||
tablica.append(0)
|
|
||||||
else:
|
|
||||||
tablica.append(1)
|
tablica.append(1)
|
||||||
|
else:
|
||||||
|
tablica.append(0)
|
||||||
|
|
||||||
# czy na górnej więcej miejsca
|
# czy na górnej więcej miejsca
|
||||||
if reg[0].is_dolna_free() is True:
|
if reg[0].czy_na_gornej_wiecej_miejsca() is True:
|
||||||
tablica.append(0)
|
|
||||||
else:
|
|
||||||
tablica.append(1)
|
tablica.append(1)
|
||||||
|
else:
|
||||||
|
tablica.append(0)
|
||||||
|
|
||||||
return tablica, reg[0]
|
return tablica, reg[0]
|
@ -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
|
Loading…
Reference in New Issue
Block a user