Movement printing and Results, state, state reset.

This commit is contained in:
Steffen Illium
2023-11-16 17:08:08 +01:00
parent 7f1d99fe18
commit 6c27aa8eaf
11 changed files with 45 additions and 21 deletions

View File

@@ -43,9 +43,6 @@ class Agent(Entity):
def var_is_blocking_pos(self):
return self._is_blocking_pos
@property
def state(self):
return self._state or ActionResult(entity=self, identifier=c.NOOP, validity=c.VALID)
def __init__(self, actions: List[Action], observations: List[str], *args, is_blocking_pos=False, **kwargs):
super(Agent, self).__init__(*args, **kwargs)
@@ -53,21 +50,16 @@ class Agent(Entity):
self.step_result = dict()
self._actions = actions
self._observations = observations
self._state: Union[Result, None] = None
self._status: Union[Result, None] = None
self._is_blocking_pos = is_blocking_pos
# noinspection PyAttributeOutsideInit
def clear_temp_state(self):
self._state = None
return self
def summarize_state(self):
state_dict = super().summarize_state()
state_dict.update(valid=bool(self.state.validity), action=str(self.state.identifier))
return state_dict
def set_state(self, action_result):
self._state = action_result
self._status = action_result
def paralyze(self, reason):
self._paralyzed.add(reason)