Spaces:
Sleeping
Sleeping
File size: 1,175 Bytes
0f3ad1b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 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 |