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