Mateusz Czajka
ae462e2920
Renamed from bfs2 to bfs3. Added koszt to Stan and it's set automatically. Added some ideas about A*.
52 lines
1.8 KiB
Python
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}" |