Spaces:
Sleeping
Sleeping
| # Copyright (c) Meta Platforms, Inc. and affiliates. | |
| # All rights reserved. | |
| # | |
| # This source code is licensed under the BSD-style license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| """ | |
| Data models for the Grid World Environment. | |
| The grid_world environment is a simple test environment that echoes back messages. | |
| """ | |
| from typing import Optional | |
| from enum import Enum | |
| from openenv.core.env_server.types import Action, Observation, State | |
| class MoveAction(str, Enum): | |
| UP = "UP" | |
| DOWN = "DOWN" | |
| LEFT = "LEFT" | |
| RIGHT = "RIGHT" | |
| class GridWorldAction(Action): | |
| """Action for the Grid World environment""" | |
| action: MoveAction | |
| class GridWorldObservation(Observation): | |
| """Observation from the Grid World environment""" | |
| # have the value to pass directly to the action | |
| x: int = 0 | |
| y: int = 0 | |
| suggested_action: Optional[MoveAction] = None | |
| message: str = "" | |
| reward: Optional[float] = None | |
| done: bool = False | |
| class GridWorldState(State): | |
| agent_x: int = 0 | |
| agent_y: int = 0 | |
| goal_x: int = 0 | |
| goal_y: int = 0 | |
| grid_size: int = 0 | |
| episode_steps: int = 0 | |