uwzględnienie pogody + komentarze
This commit is contained in:
parent
d8382f05f6
commit
c78b079d89
49
Kamila.py
49
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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user