AI_PROJECT/Stan.py
Mateusz Czajka ae462e2920 New surfaces were made (mud, dirt, stone).
Renamed from bfs2 to bfs3.
Added koszt to Stan and it's set automatically.
Added some ideas about A*.
2024-04-24 22:16:34 +02:00

52 lines
1.8 KiB
Python

import Akcja
import random
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, bakteria, pasożyt
akcja = None #[Akcja]
koszt = None #[int] 0-15, im więcej tym trudniej wjechać
def __init__(self, nawodnienie, zyznosc, wzrost, choroba):
self.nawodnienie = nawodnienie
self.zyznosc = zyznosc
self.wzrost = wzrost
self.choroba = choroba
def __init__(self):
self.nawodnienie=0
def set_random(self):
self.nawodnienie=random.randint(0,100)
self.zyznosc=random.randint(0,100)
self.wzrost=random.randint(0,100)
self.choroba=random.choice(["brak","grzyb","bakteria","pasozyt"])
def checkStan(self):
# sprawdza stan rośliny i podejmuje akcje jeśli potrzebna
if self.nawodnienie <= 60:
self.akcja = Akcja.Akcja("nawodnienie")
return
elif self.zyznosc <= 60:
self.akcja = Akcja.Akcja("zyznosc")
return
elif self.wzrost >= 75:
self.akcja = Akcja.Akcja("wzrost")
return
elif self.choroba != "brak":
self.akcja = Akcja.Akcja(self.choroba)
return
else:
self.akcja = None
return
def return_hydrate(self):
return self.nawodnienie
def report_all(self):
return f"Nawodnienie: {self.nawodnienie} Zyznosc: {self.zyznosc} Wzrost: {self.wzrost} Choroba: {self.choroba} Koszt wejścia: {self.koszt}"