This commit is contained in:
2026-06-24 19:43:17 -04:00
parent e4ad34faa1
commit 5868d03413
4 changed files with 14 additions and 13 deletions

View File

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

View File

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

View File

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

View File

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