Mini_DungeonGame / nodes.py
sqfoo's picture
Upload folder using huggingface_hub
0f3ad1b verified
Raw
History Blame Contribute Delete
1.18 kB
from player import Player
from utils import *
class Node:
def __init__(self, title: str, description: str, filelist: list[str], effect: dict = None, route = None, default: int = -1):
self.title = title
self.description = description
self.filelist = filelist
self.effect = effect
self.route = route
self.default = default
def _next(self, result: str, player: Player) -> int:
result = result.upper()
paired = self.effect.get(result, None) if self.effect is not None else None
if paired is not None:
for (change, attr, amount) in paired:
change(player, attr, amount)
if self.route is None:
return -1
if isinstance(self.route, dict):
next_node = self.route.get(result, self.default)
else:
print('Here')
next_node = self.route(player)
return next_node - 1 if next_node >= 0 else -1
def get_title(self) -> str:
return self.title
def get_description(self) -> str:
return self.description
def get_images(self) -> list[str]:
return self.filelist