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"]
|
header = ["hydration", "weeds", "empty", "ready", "TODO"]
|
||||||
work = ["Podlac", "Odchwascic", "Zasadzic", "Zebrac"]
|
work = ["Podlac", "Odchwascic", "Zasadzic", "Zebrac"]
|
||||||
order = [3, 1, 2, 0]
|
|
||||||
|
|
||||||
|
# ustawienie kolejnosci trybow na podstawie pogody
|
||||||
# ustalenie kolejnosci czynnosci
|
|
||||||
# 3 - zebranie
|
# 3 - zebranie
|
||||||
# 1 - odchwaszczenie
|
# 1 - odchwaszczenie
|
||||||
# 2 - zasadzenie
|
# 2 - zasadzenie
|
||||||
# 0 - podlanie
|
# 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):
|
def translate(field):
|
||||||
if field == 0:
|
if field == 0:
|
||||||
return [0, 0, 1, 0]
|
return [0, 0, 1, 0]
|
||||||
@ -35,6 +42,9 @@ def translate(field):
|
|||||||
print("Błąd: Zły numer pola.")
|
print("Błąd: Zły numer pola.")
|
||||||
|
|
||||||
|
|
||||||
|
# TWORZENIE DRZEWA
|
||||||
|
|
||||||
|
|
||||||
# liczenie ilości prac do wykonania
|
# liczenie ilości prac do wykonania
|
||||||
def class_counts(rows):
|
def class_counts(rows):
|
||||||
counts = {}
|
counts = {}
|
||||||
@ -179,6 +189,9 @@ def print_leaf(counts):
|
|||||||
return probs
|
return probs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class main():
|
class main():
|
||||||
def __init__(self, traktor, field, ui, path):
|
def __init__(self, traktor, field, ui, path):
|
||||||
self.traktor = traktor
|
self.traktor = traktor
|
||||||
@ -188,6 +201,7 @@ class main():
|
|||||||
self.best_action = 0
|
self.best_action = 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main(self):
|
def main(self):
|
||||||
# tworzymy zbior uczacy, w ktorym podajemy wszystkie mozliwe pola i czynnosci
|
# tworzymy zbior uczacy, w ktorym podajemy wszystkie mozliwe pola i czynnosci
|
||||||
training_data = [[0, 0, 1, 0, "Zasadzic"],
|
training_data = [[0, 0, 1, 0, "Zasadzic"],
|
||||||
@ -202,27 +216,22 @@ class main():
|
|||||||
self.tree = build_tree(training_data)
|
self.tree = build_tree(training_data)
|
||||||
print_tree(self.tree)
|
print_tree(self.tree)
|
||||||
|
|
||||||
print("------------------")
|
|
||||||
print("TEST:")
|
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("Przewidziania czynnosc: %s Czynnosc: Zasadzic"
|
||||||
% print_leaf(classify(translate(4), self.tree)))
|
% print_leaf(classify(translate(4), self.tree)))
|
||||||
print("Przewidziania czynnosc: %s Czynnosc: Odchwascic"
|
print("Przewidziania czynnosc: %s Czynnosc: Odchwascic"
|
||||||
% print_leaf(classify(translate(5), self.tree)))
|
% print_leaf(classify(translate(5), self.tree)))
|
||||||
print("Przewidziania czynnosc: %s Czynnosc: Odchwascic"
|
print("Przewidziania czynnosc: %s Czynnosc: Odchwascic"
|
||||||
% print_leaf(classify(translate(7), self.tree)))
|
% print_leaf(classify(translate(7), self.tree)))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ustalamy kolejnosc
|
||||||
|
order = set_order(self.field.get_pogoda_value())
|
||||||
for action in order:
|
for action in order:
|
||||||
self.traktor.set_mode(action)
|
self.traktor.set_mode(action) # ustawiamy tryb traktorowi
|
||||||
self.search_field()
|
self.search_field() # szukamy pól
|
||||||
|
|
||||||
print("Koniec roboty")
|
print("Koniec roboty")
|
||||||
|
|
||||||
@ -234,14 +243,14 @@ class main():
|
|||||||
return works
|
return works
|
||||||
|
|
||||||
def search_field(self):
|
def search_field(self):
|
||||||
matrix = self.field.get_matrix()
|
matrix = self.field.get_matrix() # pobieramy pole
|
||||||
for i in range(len(matrix)):
|
for i in range(len(matrix)):
|
||||||
for j in range(len(matrix[i])):
|
for j in range(len(matrix[i])):
|
||||||
print("Pole (%d,%d) Przewidziania czynnosc: %s"
|
print("Pole (%d,%d) Przewidziania czynnosc: %s"
|
||||||
% (i, j, print_leaf(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)):
|
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")
|
print("Zgodna z aktualnym trybem, czynnosc wykonywana")
|
||||||
self.path.find_path(self.traktor, self.field, self.ui, [j, i])
|
self.path.find_path(self.traktor, self.field, self.ui, [j, i]) # szukamy sciezki
|
||||||
self.ui.update()
|
self.ui.update() # update'ujemy UI
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user