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