Utworzono klasy Roslina oraz Stan. #8

Merged
s481834 merged 1 commits from roslina&stan into ram 2024-03-23 16:37:11 +01:00
2 changed files with 113 additions and 0 deletions
Showing only changes of commit fea90a983d - Show all commits

77
Roslina.py Normal file
View File

@ -0,0 +1,77 @@
class Roslina:
nazwa = None #[string]
stan = None #[Stan]
srodek = None #[List<Srodek>]
"""
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

36
Stan.py Normal file
View File

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