74 lines
3.0 KiB
Python
74 lines
3.0 KiB
Python
import time
|
|
|
|
from untitled import generation, model, persistence, rules, ui
|
|
from untitled.screens import inventory, pet
|
|
from untitled.screens.common import go_to, options
|
|
|
|
|
|
def house(save: model.Save):
|
|
print("Welcome to your house!")
|
|
if save.cat.sick or save.cat.depressed:
|
|
print(
|
|
f"Your cat is {"sick" if save.cat.sick else ""}{" and " if save.cat.sick and save.cat.depressed else ""}{"depressed" if save.cat.depressed else ""}. "
|
|
)
|
|
while True:
|
|
match ui.select(
|
|
"What do you want to do?",
|
|
[
|
|
"Check on your cat",
|
|
"View your inventory",
|
|
"Feed your cat",
|
|
"Pet your cat",
|
|
"Go to...",
|
|
"Menu",
|
|
],
|
|
):
|
|
case "Check on your cat":
|
|
rules.reconcile(save.cat, time.time())
|
|
if save.cat.sick or save.cat.depressed:
|
|
print(
|
|
f"{save.cat.name}: a {"sick" if save.cat.sick else ""}{" and " if save.cat.sick and save.cat.depressed else ""}{"depressed" if save.cat.depressed else ""} cat."
|
|
)
|
|
else:
|
|
print(
|
|
f"{save.cat.name}, {generation.generate_trait_sentence(save.cat.traits).lower()}.\nFullness: {round(save.cat.fullness,1)}\nHappiness: {round(save.cat.happiness,1)}"
|
|
)
|
|
case "View your inventory":
|
|
print(f"Money: {save.player.money}")
|
|
if any(amount > 0 for amount in save.player.inventory.values()):
|
|
inventory.inventory(save)
|
|
else:
|
|
print("You have no items!")
|
|
case "Feed your cat":
|
|
if not save.cat.sick:
|
|
rules.reconcile(save.cat, time.time())
|
|
if rules.feed(save.player, save.cat):
|
|
print(
|
|
f"You feed {save.cat.name}, {save.cat.name} is now {round(save.cat.fullness,1)}% full."
|
|
)
|
|
else:
|
|
print("You don't have any food!")
|
|
else:
|
|
print(f"{save.cat.name} is sick!")
|
|
case "Pet your cat":
|
|
if not save.cat.depressed:
|
|
rules.reconcile(save.cat, time.time())
|
|
pet.pet(save.cat)
|
|
else:
|
|
print(f"{save.cat.name} is depressed!")
|
|
case "Go to...":
|
|
go_to(save)
|
|
case "Menu":
|
|
result = options()
|
|
match result:
|
|
case "save":
|
|
print("Saving...")
|
|
persistence.save(save)
|
|
print("Done")
|
|
case "savequit":
|
|
if ui.confirm("Are you sure you want to quit?"):
|
|
print("Saving...")
|
|
persistence.save(save)
|
|
print("Done")
|
|
break
|