Mainloop+house
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
from data.cat import Cat
|
from data.cat import Cat
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
class SaveData:
|
class SaveData:
|
||||||
@@ -9,7 +10,9 @@ class SaveData:
|
|||||||
|
|
||||||
|
|
||||||
def save(cat):
|
def save(cat):
|
||||||
with open(f"{cat.name}.kitten", "w") as f:
|
if not os.path.exists("saves"):
|
||||||
|
os.mkdir("saves")
|
||||||
|
with open(f"saves/{cat.name}.kitten", "w") as f:
|
||||||
json.dump(cat.to_dict(), f)
|
json.dump(cat.to_dict(), f)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
28
game.py
28
game.py
@@ -1,6 +1,6 @@
|
|||||||
from data.cat import Cat
|
from data.cat import Cat
|
||||||
from systems.ui import clear, title
|
from systems.ui import clear, title
|
||||||
from systems.world import shelter
|
from systems.world import shelter, house
|
||||||
import systems.ui as ui
|
import systems.ui as ui
|
||||||
import data.save
|
import data.save
|
||||||
|
|
||||||
@@ -17,8 +17,30 @@ class Game:
|
|||||||
self.game_loop()
|
self.game_loop()
|
||||||
|
|
||||||
def game_loop(self):
|
def game_loop(self):
|
||||||
# TODO: make
|
while True:
|
||||||
pass
|
match ui.select("Please choose an option", ["Go to your house", "Options"]):
|
||||||
|
case "Go to your house":
|
||||||
|
house(self.cat)
|
||||||
|
case "Options":
|
||||||
|
while True:
|
||||||
|
match ui.select(
|
||||||
|
"Please choose an option",
|
||||||
|
["Save", "Save and quit", "Quit", "Back"],
|
||||||
|
):
|
||||||
|
case "Save":
|
||||||
|
data.save.save(self.cat)
|
||||||
|
case "Save and quit":
|
||||||
|
print("Goodbye!")
|
||||||
|
data.save.save(self.cat)
|
||||||
|
return
|
||||||
|
case "Quit":
|
||||||
|
if ui.confirm(
|
||||||
|
"Are you sure you want to quit without saving?"
|
||||||
|
):
|
||||||
|
print("Goodbye!")
|
||||||
|
return
|
||||||
|
case "Back":
|
||||||
|
break
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
title()
|
title()
|
||||||
|
|||||||
@@ -65,3 +65,17 @@ def shelter(include_welcome=True):
|
|||||||
return shelter(include_welcome=False)
|
return shelter(include_welcome=False)
|
||||||
print(f"You pick up {name}, {name} is ready to leave the shelter.")
|
print(f"You pick up {name}, {name} is ready to leave the shelter.")
|
||||||
return Cat(name, traits)
|
return Cat(name, traits)
|
||||||
|
|
||||||
|
|
||||||
|
def house(cat: Cat):
|
||||||
|
print("Welcome to your house!")
|
||||||
|
while True:
|
||||||
|
match ui.select(
|
||||||
|
"Please choose an option", ["Check on your cat", "Leave your house"]
|
||||||
|
):
|
||||||
|
case "Check on your cat":
|
||||||
|
print(
|
||||||
|
f"{cat.name} - a {cat.traits["size"]} {cat.traits["color"]} with {cat.traits["eyes"]} eyes"
|
||||||
|
)
|
||||||
|
case "Leave your house":
|
||||||
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user