Spaces:
Sleeping
Sleeping
| 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 |