22 lines
771 B
Python
22 lines
771 B
Python
from typing import Dict, Tuple
|
|
|
|
from gymnasium.core import ObsType
|
|
|
|
from primaite.game.agent.interface import AbstractScriptedAgent
|
|
|
|
|
|
class RandomAgent(AbstractScriptedAgent):
|
|
"""Agent that ignores its observation and acts completely at random."""
|
|
|
|
def get_action(self, obs: ObsType, timestep: int = 0) -> Tuple[str, Dict]:
|
|
"""Sample the action space randomly.
|
|
|
|
:param obs: Current observation for this agent, not used in RandomAgent
|
|
:type obs: ObsType
|
|
:param timestep: The current simulation timestep, not used in RandomAgent
|
|
:type timestep: int
|
|
:return: Action formatted in CAOS format
|
|
:rtype: Tuple[str, Dict]
|
|
"""
|
|
return self.action_manager.get_action(self.action_manager.space.sample())
|