Added Pet class and made a final demo
This commit is contained in:
parent
faf0b2973c
commit
b2470eac16
3 changed files with 71 additions and 21 deletions
29
petcard.py
29
petcard.py
|
@ -9,7 +9,7 @@
|
|||
# Importing libraries
|
||||
#
|
||||
|
||||
import sys, json, machine
|
||||
import sys, json, machine, _thread, time, random
|
||||
|
||||
# Import SYSTEM module
|
||||
import system
|
||||
|
@ -20,9 +20,10 @@ import system
|
|||
|
||||
# Main system & application controller
|
||||
class Application:
|
||||
def __init__(self, config_manager, logger, display_driver, display, input_controller, ui, power):
|
||||
def __init__(self, config_manager, logger, pet, display_driver, display, input_controller, ui, power):
|
||||
self.config_manager = config_manager
|
||||
self.logger = logger
|
||||
self.pet = pet
|
||||
self.display_driver = display_driver
|
||||
self.display = display
|
||||
self.input_controller = input_controller
|
||||
|
@ -33,10 +34,12 @@ class Application:
|
|||
def initialize(self):
|
||||
self.logger.log("Initializing Petcard System...", 3)
|
||||
self.display.initialize()
|
||||
self.logger.log("Initializing Petcard health manager...", 3)
|
||||
_thread.start_new_thread(self._pet_health_manager, ())
|
||||
self.logger.log("System initialization complete", 3)
|
||||
|
||||
# Main system loop
|
||||
def run(self):
|
||||
def run(self):
|
||||
try:
|
||||
self.initialize()
|
||||
|
||||
|
@ -45,6 +48,7 @@ class Application:
|
|||
system.MenuItem("Food", self._action, "f"),
|
||||
system.MenuItem("Drinks", self._action, "d"),
|
||||
system.MenuItem("Play", self._action, "p"),
|
||||
system.MenuItem("Save", self._save),
|
||||
system.MenuItem("Sleep", self.power.sleep)
|
||||
]
|
||||
|
||||
|
@ -55,25 +59,32 @@ class Application:
|
|||
selected_item = self.ui.show_menu(main_menu)
|
||||
if selected_item:
|
||||
result = selected_item.execute()
|
||||
if result == "exit":
|
||||
break
|
||||
|
||||
except Exception as e:
|
||||
self.logger.log(f"System error: {e}", 0)
|
||||
self.power.exit_system("System encountered an error")
|
||||
self.power.shutdown("System encountered an error")
|
||||
|
||||
# Defines what to do when a certain action is triggered
|
||||
def _action(self, act):
|
||||
if act == "f":
|
||||
self.logger.log("Food!", 3)
|
||||
self.pet.nom("pancakes", 10)
|
||||
elif act == "d":
|
||||
self.logger.log("Drink!", 3)
|
||||
self.pet.slurp("water", 10)
|
||||
elif act == "p":
|
||||
self.logger.log("Play!", 3)
|
||||
self.pet.play("petted", 10)
|
||||
else: self.logger.log(f"Invalid action {act}", 1)
|
||||
|
||||
return
|
||||
|
||||
def _save(self):
|
||||
self.logger.log("Saving game progression...", 4)
|
||||
self.config_manager.save_config()
|
||||
self.logger.log("Game progression has been saved!", 4)
|
||||
|
||||
def _pet_health_manager(self):
|
||||
while True:
|
||||
time.sleep(random.randint(10, 60))
|
||||
self.pet.wombicombi()
|
||||
#
|
||||
# End Of File (EOF)
|
||||
#
|
Loading…
Add table
Add a link
Reference in a new issue