fixes
This commit is contained in:
@@ -2,13 +2,13 @@ import time
|
||||
|
||||
|
||||
def _v1_to_v2(data):
|
||||
data["cat"]["hunger"] = 100
|
||||
data["cat"]["fullness"] = 100
|
||||
data["cat"]["last_updated"] = time.time()
|
||||
data["version"] = 2
|
||||
return data
|
||||
|
||||
|
||||
_MIGRATIONS = {1: _v1_to_v2} # TODO: ADD HUNGER AND LAST PLAYED MIGRATION
|
||||
_MIGRATIONS = {1: _v1_to_v2}
|
||||
|
||||
|
||||
def migrate(data):
|
||||
|
||||
@@ -2,23 +2,23 @@ import time
|
||||
|
||||
|
||||
class Cat:
|
||||
def __init__(self, name, traits, hunger=100, last_updated=None):
|
||||
def __init__(self, name, traits, fullness=100, last_updated=None):
|
||||
self.name = name
|
||||
self.traits = traits
|
||||
self.hunger = hunger
|
||||
self.fullness = fullness
|
||||
self.last_updated = last_updated if last_updated is not None else time.time()
|
||||
|
||||
def to_dict(self):
|
||||
return {
|
||||
"name": self.name,
|
||||
"traits": self.traits,
|
||||
"hunger": self.hunger,
|
||||
"fullness": self.fullness,
|
||||
"last_updated": self.last_updated,
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
def from_dict(data):
|
||||
return Cat(data["name"], data["traits"], data["hunger"], data["last_updated"])
|
||||
return Cat(data["name"], data["traits"], data["fullness"], data["last_updated"])
|
||||
|
||||
|
||||
class Save:
|
||||
|
||||
@@ -21,13 +21,13 @@ def reconcile(cat, now):
|
||||
elapsed_hours = (now - cat.last_updated) / 3600
|
||||
if elapsed_hours <= 0:
|
||||
return
|
||||
cat.hunger -= content.HUNGER_DECAY_PER_HOUR * elapsed_hours
|
||||
if cat.hunger < 0:
|
||||
cat.hunger = 0
|
||||
cat.fullness -= content.HUNGER_DECAY_PER_HOUR * elapsed_hours
|
||||
if cat.fullness < 0:
|
||||
cat.fullness = 0
|
||||
cat.last_updated = now
|
||||
|
||||
|
||||
def feed(cat, amount=100):
|
||||
cat.hunger += amount
|
||||
if cat.hunger > 100:
|
||||
cat.hunger = 100
|
||||
cat.fullness += amount
|
||||
if cat.fullness > 100:
|
||||
cat.fullnesss = 100
|
||||
|
||||
@@ -13,9 +13,10 @@ def house(save: model.Save):
|
||||
case "Check on your cat":
|
||||
rules.reconcile(save.cat, time.time())
|
||||
print(
|
||||
f"{save.cat.name}, {generation.generate_trait_sentence(save.cat.traits).lower()}\nFullness: {round(save.cat.hunger,1)}"
|
||||
f"{save.cat.name}, {generation.generate_trait_sentence(save.cat.traits).lower()}\nFullness: {round(save.cat.fullness,1)}"
|
||||
)
|
||||
case "Feed your cat":
|
||||
rules.reconcile(save.cat, time.time())
|
||||
rules.feed(save.cat)
|
||||
print(f"You feed {save.cat.name}, {save.cat.name} is now full.")
|
||||
case "Menu":
|
||||
|
||||
Reference in New Issue
Block a user