From c78b079d89b214784a5cba77abb7113d8c8a298b Mon Sep 17 00:00:00 2001 From: xkamikoo <58092037+xkamikoo@users.noreply.github.com> Date: Thu, 4 Jun 2020 20:23:05 +0200 Subject: [PATCH] =?UTF-8?q?uwzgl=C4=99dnienie=20pogody=20+=20komentarze?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Kamila.py | 49 +++++++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/Kamila.py b/Kamila.py index b7093f3..753820e 100644 --- a/Kamila.py +++ b/Kamila.py @@ -2,16 +2,23 @@ import time header = ["hydration", "weeds", "empty", "ready", "TODO"] work = ["Podlac", "Odchwascic", "Zasadzic", "Zebrac"] -order = [3, 1, 2, 0] - -# ustalenie kolejnosci czynnosci +# ustawienie kolejnosci trybow na podstawie pogody # 3 - zebranie # 1 - odchwaszczenie # 2 - zasadzenie # 0 - podlanie +def set_order(pogoda): + if pogoda == 1: + order = [3, 1, 2] + else: + order = [3, 1, 2, 0] + return order + +# przetłumaczenie numerka (0-8) +# nawodnienie, chwasty, puste_pole, gotowe_do_zbioru def translate(field): if field == 0: return [0, 0, 1, 0] @@ -35,6 +42,9 @@ def translate(field): print("Błąd: Zły numer pola.") +# TWORZENIE DRZEWA + + # liczenie ilości prac do wykonania def class_counts(rows): counts = {} @@ -179,6 +189,9 @@ def print_leaf(counts): return probs + + + class main(): def __init__(self, traktor, field, ui, path): self.traktor = traktor @@ -188,6 +201,7 @@ class main(): self.best_action = 0 + def main(self): # tworzymy zbior uczacy, w ktorym podajemy wszystkie mozliwe pola i czynnosci training_data = [[0, 0, 1, 0, "Zasadzic"], @@ -202,27 +216,22 @@ class main(): self.tree = build_tree(training_data) print_tree(self.tree) - print("------------------") print("TEST:") - # for i in range(len(training_data)): - # print("Przewidziania czynnosc: %s Czynnosc: %s" - # % (print_leaf(classify(translate(i), self.tree)), training_data[i][-1])) - # if training_data[i][-1] in self.work_field(classify(translate(i), self.tree)): - # continue - # else: - # print("Testowanie zakonczone niepowodzeniem") - # break - print("Przewidziania czynnosc: %s Czynnosc: Zasadzic" % print_leaf(classify(translate(4), self.tree))) print("Przewidziania czynnosc: %s Czynnosc: Odchwascic" % print_leaf(classify(translate(5), self.tree))) print("Przewidziania czynnosc: %s Czynnosc: Odchwascic" % print_leaf(classify(translate(7), self.tree))) + + + + # ustalamy kolejnosc + order = set_order(self.field.get_pogoda_value()) for action in order: - self.traktor.set_mode(action) - self.search_field() + self.traktor.set_mode(action) # ustawiamy tryb traktorowi + self.search_field() # szukamy pól print("Koniec roboty") @@ -234,14 +243,14 @@ class main(): return works def search_field(self): - matrix = self.field.get_matrix() + matrix = self.field.get_matrix() # pobieramy pole for i in range(len(matrix)): for j in range(len(matrix[i])): print("Pole (%d,%d) Przewidziania czynnosc: %s" - % (i, j, print_leaf(classify(translate(matrix[i][j]), self.tree)))) - if work[self.traktor.get_mode()] in self.work_field(classify(translate(matrix[i][j]), self.tree)): + % (i, j, print_leaf(classify(translate(matrix[i][j]), self.tree)))) # przewidujemy czynność za pomocą drzewa + if work[self.traktor.get_mode()] in self.work_field(classify(translate(matrix[i][j]), self.tree)): # jezeli zgadza sie z aktualnym trybem: print("Zgodna z aktualnym trybem, czynnosc wykonywana") - self.path.find_path(self.traktor, self.field, self.ui, [j, i]) - self.ui.update() + self.path.find_path(self.traktor, self.field, self.ui, [j, i]) # szukamy sciezki + self.ui.update() # update'ujemy UI time.sleep(0.5)