Wprowadzono poprawki do klas Roslina, Stan oraz Akcja.

This commit is contained in:
Mateusz Czajka 2024-03-24 19:19:49 +01:00
parent be47ed188f
commit 4c9bbed441
3 changed files with 32 additions and 33 deletions

View File

@ -4,36 +4,44 @@ import Srodek
#w przyszłości trzeba przenieść definicję środków do innego pliku inicjalizującego #w przyszłości trzeba przenieść definicję środków do innego pliku inicjalizującego
class Akcja: class Akcja:
srodki = [] #lista obiektów klasy Srodek 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): def __init__(self, typ):
self.typ = typ self.typ = typ
if self.typ == "nawodnienie": if self.typ == "nawodnienie":
self.srodki.append(Srodek.Srodek(1, "woda", "woda")) self.srodki.append(Srodek.Srodek(1, "woda", "woda"))
self.srodki.append(Srodek.Srodek(1.5, "powerade", "woda")) #nawadnia lepiej niż 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": if self.typ == "zyznosc":
self.srodki.append(Srodek.Srodek(2, "obornik", "nawoz")) self.srodki.append(Srodek.Srodek(2, "obornik", "nawoz"))
self.srodki.append(Srodek.Srodek(3, "azotan", "nawoz")) self.srodki.append(Srodek.Srodek(3, "azotan", "nawoz"))
self.srodki.append(Srodek.Srodek(4, "wapno", "nawoz")) self.srodki.append(Srodek.Srodek(4, "wapno", "nawoz"))
self.srodki.append(Srodek.Srodek(5, "superfosfat", "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": if self.typ == "wzrost":
self.srodki.append(Srodek.Srodek(6, "witaminy", "odzywka")) self.srodki.append(Srodek.Srodek(6, "witaminy", "odzywka"))
self.srodki.append(Srodek.Srodek(7, "aminokwasy", "odzywka")) self.srodki.append(Srodek.Srodek(7, "aminokwasy", "odzywka"))
self.srodki.append(Srodek.Srodek(8, "algi morskie", "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": if self.typ == "grzyb":
self.srodki.append(Srodek.Srodek(9, "mankozeb", "ochrona")) self.srodki.append(Srodek.Srodek(9, "mankozeb", "ochrona"))
self.srodki.append(Srodek.Srodek(10, "czosnek", "ochrona")) #tak czosnek zabija grzyby self.srodki.append(Srodek.Srodek(10, "czosnek", "ochrona")) #tak czosnek zabija grzyby
self.benefits["grzyb"] = "brak" self.benefits.append("choroba")
if self.typ == "bakterie": self.benefits.append("brak")
if self.typ == "bakteria":
self.srodki.append(Srodek.Srodek(11, "miedź", "ochrona")) self.srodki.append(Srodek.Srodek(11, "miedź", "ochrona"))
self.srodki.append(Srodek.Srodek(12, "streptomycyna ", "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": if self.typ == "pasożyt":
self.srodki.append(Srodek.Srodek(13, "Cyjantraniliprol", "ochrona")) self.srodki.append(Srodek.Srodek(13, "Cyjantraniliprol", "ochrona"))
self.srodki.append(Srodek.Srodek(14, "Permetryna", "ochrona")) self.srodki.append(Srodek.Srodek(14, "Permetryna", "ochrona"))
self.srodki.append(Srodek.Srodek(15, "Abamektyna", "ochrona")) self.srodki.append(Srodek.Srodek(15, "Abamektyna", "ochrona"))
self.benefits["grzyb"] = "brak" self.benefits.append("choroba")
self.benefits.append("brak")
def getBenefit(self): def getBenefit(self):
return self.benefits return self.benefits

View File

@ -38,30 +38,22 @@ class Roslina:
def checkSrodek(self): def checkSrodek(self):
#może wykorzystać AI do porównywania zdjęć #może wykorzystać AI do porównywania zdjęć
for i in self.srodek: for i in self.srodek:
for j in self.stan.akcja.srodki: for j in self.stan.akcja.srodki:
if i == j: if i == j:
return i return i
return False return False
def doAkcja(self): 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 # sprawdza jaki srodek do danej akcji i jaki z nich może być użyty przy tej roślinie
self.checkSrodek()
# robi akcje # 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) # 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 return
@ -71,7 +63,6 @@ class Roslina:
self.stan.checkStan() self.stan.checkStan()
while self.stan.akcja != None: while self.stan.akcja != None:
# sprawdza czy jakaś akcja musi być wykonana, jeżeli tak, to sprawdza jaka (po nazwie)
self.doAkcja() self.doAkcja()
self.stan.checkStan() self.stan.checkStan()
return return

12
Stan.py
View File

@ -1,3 +1,5 @@
import Akcja
class Stan: class Stan:
nawodnienie = None #[int] 0-100 (0-60: trzeba podlać), spada w zaleznosci od rosliny: aktualizowane bedzie "w tle" 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" 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): def __init__(self, nawodnienie, zyznosc, wzrost, choroba):
self.nawodnienie = nawodnienie self.nawodnienie = nawodnienie
self.zyznosc = zyznosc self.zyznosc = zyznosc
@ -20,16 +20,16 @@ class Stan:
# sprawdza stan rośliny i podejmuje akcje jeśli potrzebna # sprawdza stan rośliny i podejmuje akcje jeśli potrzebna
if self.nawodnienie <= 60: if self.nawodnienie <= 60:
# self.akcja = Akcja("nawodnienie") self.akcja = Akcja.Akcja("nawodnienie")
return return
elif self.zyznosc <= 60: elif self.zyznosc <= 60:
# self.akcja = Akcja("zyznosc") self.akcja = Akcja.Akcja("zyznosc")
return return
elif self.wzrost >= 75: elif self.wzrost >= 75:
# self.akcja = Akcja("wzrost") self.akcja = Akcja.Akcja("wzrost")
return return
elif self.choroba != "brak": elif self.choroba != "brak":
# self.akcja = Akcja(self.choroba) self.akcja = Akcja.Akcja(self.choroba)
return return
else: else:
self.akcja = None self.akcja = None