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
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

View File

@ -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

12
Stan.py
View File

@ -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