Python:
class AlgRelay:
def __init__(self):
super().__init__()
self.relay: dict[str, int] = {}
# code 1: next mode
# code 2: goal achieved
# code 3: error/failure
# code 4: empty str
# code 5: any other str
def add_next_mode(self, *keys: str) -> None:
for key in keys:
self.relay[key] = 1
def add_goal_achieved(self, *keys: str) -> None:
for key in keys:
self.relay[key] = 2
def add_error(self, *keys: str) -> None:
for key in keys:
self.relay[key] = 3
def relay(self, str1: str) -> int:
if str1 in self.relay:
return self.relay[str1]
if len(str1) == 0:
return 4
return 5