From 4c9bbed441870078a7d927d5a694c6fca86d71ed Mon Sep 17 00:00:00 2001 From: Mateusz Czajka Date: Sun, 24 Mar 2024 19:19:49 +0100 Subject: [PATCH] Wprowadzono poprawki do klas Roslina, Stan oraz Akcja. --- Akcja.py | 24 ++++++++++++++++-------- Roslina.py | 29 ++++++++++------------------- Stan.py | 12 ++++++------ 3 files changed, 32 insertions(+), 33 deletions(-) diff --git a/Akcja.py b/Akcja.py index e4718b3..b2fe72a 100644 --- a/Akcja.py +++ b/Akcja.py @@ -4,36 +4,44 @@ import Srodek #w przyszłości trzeba przenieść definicję środków do innego pliku inicjalizującego class Akcja: srodki = [] #lista obiektów klasy Srodek - benefits = {} #słownik typu string, przechowujący benefity płynące z wykonania akcji + benefits = [] #lista przechowująca benefity płynące z wykonania akcji + def __init__(self, typ): self.typ = typ if self.typ == "nawodnienie": self.srodki.append(Srodek.Srodek(1, "woda", "woda")) self.srodki.append(Srodek.Srodek(1.5, "powerade", "woda")) #nawadnia lepiej niż woda - self.benefits["nawodnienie"] = 100 + self.benefits.append(typ) + self.benefits.append(100) if self.typ == "zyznosc": self.srodki.append(Srodek.Srodek(2, "obornik", "nawoz")) self.srodki.append(Srodek.Srodek(3, "azotan", "nawoz")) self.srodki.append(Srodek.Srodek(4, "wapno", "nawoz")) self.srodki.append(Srodek.Srodek(5, "superfosfat", "nawoz")) - self.benefits["zyznosc"] = 100 + self.benefits.append(typ) + self.benefits.append(100) if self.typ == "wzrost": self.srodki.append(Srodek.Srodek(6, "witaminy", "odzywka")) self.srodki.append(Srodek.Srodek(7, "aminokwasy", "odzywka")) self.srodki.append(Srodek.Srodek(8, "algi morskie", "odzywka")) - self.benefits["wzrost"] = 20 + self.benefits.append(typ) + self.benefits.append(20) if self.typ == "grzyb": self.srodki.append(Srodek.Srodek(9, "mankozeb", "ochrona")) self.srodki.append(Srodek.Srodek(10, "czosnek", "ochrona")) #tak czosnek zabija grzyby - self.benefits["grzyb"] = "brak" - if self.typ == "bakterie": + self.benefits.append("choroba") + self.benefits.append("brak") + if self.typ == "bakteria": self.srodki.append(Srodek.Srodek(11, "miedź", "ochrona")) self.srodki.append(Srodek.Srodek(12, "streptomycyna ", "ochrona")) - self.benefits["grzyb"] = "brak" + self.benefits.append("choroba") + self.benefits.append("brak") if self.typ == "pasożyt": self.srodki.append(Srodek.Srodek(13, "Cyjantraniliprol", "ochrona")) self.srodki.append(Srodek.Srodek(14, "Permetryna", "ochrona")) self.srodki.append(Srodek.Srodek(15, "Abamektyna", "ochrona")) - self.benefits["grzyb"] = "brak" + self.benefits.append("choroba") + self.benefits.append("brak") + def getBenefit(self): return self.benefits \ No newline at end of file diff --git a/Roslina.py b/Roslina.py index 8412d38..172060f 100644 --- a/Roslina.py +++ b/Roslina.py @@ -38,31 +38,23 @@ class Roslina: 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 + # sprawdza jaki srodek do danej akcji i jaki z nich może być użyty przy tej roślinie + # robi akcje + # aktualizuje dane o stanie i zdjęcie w zależności od wykonanej czynności (benefits w klasie akcja) -> (self.stan.akcja.benefits) + + x = self.checkSrodek() + # robi akcje + setattr(self.stan, self.stan.akcja.benefits[0], self.stan.akcja.benefits[1]) + return def isAkcja(self): @@ -71,7 +63,6 @@ class Roslina: 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 index 59ff093..99cff4e 100644 --- a/Stan.py +++ b/Stan.py @@ -1,3 +1,5 @@ +import Akcja + 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" @@ -7,8 +9,6 @@ class Stan: - - def __init__(self, nawodnienie, zyznosc, wzrost, choroba): self.nawodnienie = nawodnienie self.zyznosc = zyznosc @@ -20,16 +20,16 @@ class Stan: # sprawdza stan rośliny i podejmuje akcje jeśli potrzebna if self.nawodnienie <= 60: - # self.akcja = Akcja("nawodnienie") + self.akcja = Akcja.Akcja("nawodnienie") return elif self.zyznosc <= 60: - # self.akcja = Akcja("zyznosc") + self.akcja = Akcja.Akcja("zyznosc") return elif self.wzrost >= 75: - # self.akcja = Akcja("wzrost") + self.akcja = Akcja.Akcja("wzrost") return elif self.choroba != "brak": - # self.akcja = Akcja(self.choroba) + self.akcja = Akcja.Akcja(self.choroba) return else: self.akcja = None