From fea90a983d0841bd175e9892628ce1105b9c1d68 Mon Sep 17 00:00:00 2001 From: Mateusz Czajka Date: Sat, 23 Mar 2024 16:22:13 +0100 Subject: [PATCH] Utworzono klasy Roslina oraz Stan. --- Roslina.py | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Stan.py | 36 +++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 Roslina.py create mode 100644 Stan.py diff --git a/Roslina.py b/Roslina.py new file mode 100644 index 0000000..8412d38 --- /dev/null +++ b/Roslina.py @@ -0,0 +1,77 @@ +class Roslina: + nazwa = None #[string] + stan = None #[Stan] + srodek = None #[List] + + + """ + Nawodnienie (update co 30s): + - pszenica: -8 + - kukurydza: -7 + - ziemniak: -6 + - słonecznik: -5 + - borówka: -4 + - winogrono: -4 + + Żyzność (update co 30s): + - pszenica: -7 + - kukurydza: -4 + - ziemniak: -5 + - słonecznik: -3 + - borówka: -5 + - winogrono: -4 + + Wzrost (update co 30s): + - pszenica: +8 + - kukurydza: +4 + - ziemniak: +5 + - słonecznik: +3 + - borówka: +5 + - winogrono: +4 + """ + + + def __init__(self, nazwa, stan, srodek): + self.nazwa = nazwa + self.stan = stan + self.srodek = srodek + + def checkSrodek(self): + #może wykorzystać AI do porównywania zdjęć + for i in self.srodek: + for j in self.stan.akcja.srodki: + if i == j: + return i + return False + + def doAkcja(self): + if self.stan.akcja.typ == "nawodnienie": + # robi akcje + # aktualizuje dane o stanie i zdjęcie w zależności od wykonanej czynności (benefit w klasie akcja) -> (self.stan.akcja.benefits) + return + elif self.stan.akcja.typ == "zyznosc": + # robi akcje + # aktualizuje dane o stanie i zdjęcie w zależności od wykonanej czynności (benefit w klasie akcja) -> (self.stan.akcja.benefits) + return + elif self.stan.akcja.typ == "wzrost": + # robi akcje + # aktualizuje dane o stanie i zdjęcie w zależności od wykonanej czynności (benefit w klasie akcja) -> (self.stan.akcja.benefits) + return + else: #choroba + # sprawdza jaki srodek do danej akcji i jaki z nich może być użyty przy tej roślinie + self.checkSrodek() + # robi akcje + # aktualizuje dane o stanie i zdjęcie w zależności od wykonanej czynności (benefit w klasie akcja) -> (self.stan.akcja.benefits) + return + + + def isAkcja(self): + # sprawdza czy jakaś akcja musi być wykonana, jeżeli tak, to ją wywołuje + # sprawdza czy jeszcze coś trzeba zrobić + + self.stan.checkStan() + while self.stan.akcja != None: + # sprawdza czy jakaś akcja musi być wykonana, jeżeli tak, to sprawdza jaka (po nazwie) + self.doAkcja() + self.stan.checkStan() + return \ No newline at end of file diff --git a/Stan.py b/Stan.py new file mode 100644 index 0000000..771a15c --- /dev/null +++ b/Stan.py @@ -0,0 +1,36 @@ +class Stan: + nawodnienie = None #[int] 0-100 (0-60: trzeba podlać), spada w zaleznosci od rosliny: aktualizowane bedzie "w tle" + zyznosc = None #[int] 0-100 (0-60: trzeba użyźnić), spada w zaleznosci od rosliny: aktualizowane bedzie "w tle" + wzrost = None #[int] 0-100 (75-100: scinanie), wzrasta w zaleznosci od rosliny: aktualizowane bedzie "w tle" + choroba = None #[string] brak, grzyb, wirus, bakteria, pasożyt + akcja = None #[Akcja] + + + + + + def __init__(self, nawodnienie, zyznosc, wzrost, choroba): + self.nawodnienie = nawodnienie + self.zyznosc = zyznosc + self.wzrost = wzrost + self.choroba = choroba + + + def checkStan(self): + # sprawdza stan rośliny i podejmuje akcje jeśli potrzebna + + if self.nawodnienie <= 60: + # self.akcja = Akcja("nawodnienie") + return + elif self.zyznosc <= 60: + # self.akcja = Akcja("zyznosc") + return + elif self.wzrost >= 75: + # self.akcja = Akcja("wzrost") + return + elif self.choroba != "brak": + # self.akcja = Akcja(self.choroba) + return + else: + self.akcja = None + return \ No newline at end of file