From 60debf46981ff13a496e8ed178bf05e1984c9ce0 Mon Sep 17 00:00:00 2001 From: fheinrich <fheinrich@techfak.uni-bielefeld.de> Date: Wed, 24 Jan 2024 11:31:13 +0100 Subject: [PATCH] Updates --- overcooked_simulator/fastapi_game_server.py | 21 +++++++++++++------ .../overcooked_environment.py | 1 - overcooked_simulator/player.py | 1 - 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/overcooked_simulator/fastapi_game_server.py b/overcooked_simulator/fastapi_game_server.py index 3fffdf77..eb2695e0 100644 --- a/overcooked_simulator/fastapi_game_server.py +++ b/overcooked_simulator/fastapi_game_server.py @@ -30,16 +30,25 @@ async def lifespan(app: FastAPI): app = FastAPI(lifespan=lifespan) + WEBSOCKET_URL = "localhost" WEBSOCKET_PORT = 8000 -class OvercookedAPI: +class GameServer: simulator: Simulator def __init__(self): self.setup_game() + self.envs = {int: Simulator} + + def create_env(self, n_players: int) -> (int, list[WebSocket]): + pass + + def add_player(self, env_id) -> (int, WebSocket): + pass + def setup_game(self): self.simulator = Simulator( ROOT_DIR / "game_content" / "environment_config.yaml", @@ -80,10 +89,10 @@ class ConnectionManager: manager = ConnectionManager() -oc_api: OvercookedAPI = OvercookedAPI() +oc_api: GameServer = GameServer() -def parse_action(message: str) -> Action: +def parse_websocket_action(message: str) -> Action: if message.replace('"', "") != "get_state": message_dict = json.loads(message) if message_dict["act_type"] == "movement": @@ -111,7 +120,7 @@ def parse_action(message: str) -> Action: return action -def manage_message(message: str): +def manage_websocket_message(message: str): if "get_state" in message: return oc_api.get_state() @@ -119,7 +128,7 @@ def manage_message(message: str): oc_api.reset_game() return "Reset game." - action = parse_action(message) + action = parse_websocket_action(message) oc_api.simulator.enter_action(action) answer = oc_api.get_state() return answer @@ -137,7 +146,7 @@ async def websocket_endpoint(websocket: WebSocket, client_id: int): try: while True: message = await websocket.receive_text() - answer = manage_message(message) + answer = manage_websocket_message(message) await manager.send_personal_message(answer, websocket) except WebSocketDisconnect: diff --git a/overcooked_simulator/overcooked_environment.py b/overcooked_simulator/overcooked_environment.py index 2a63df64..ae5928dd 100644 --- a/overcooked_simulator/overcooked_environment.py +++ b/overcooked_simulator/overcooked_environment.py @@ -303,7 +303,6 @@ class Environment: for character in line: character = character.capitalize() pos = np.array([current_x, current_y]) - print(pos) counter_class = self.SYMBOL_TO_CHARACTER_MAP[character] if not isinstance(counter_class, str): counter = counter_class(pos) diff --git a/overcooked_simulator/player.py b/overcooked_simulator/player.py index 1dda3cec..de97d0e2 100644 --- a/overcooked_simulator/player.py +++ b/overcooked_simulator/player.py @@ -46,7 +46,6 @@ class Player: self.facing_point: npt.NDArray[float] = np.zeros(2, float) self.current_movement: npt.NDArray[2] = np.zeros(2, float) - print(datetime.datetime.min) self.movement_until: datetime.datetime = datetime.datetime.min def set_movement(self, move_vector, move_until): -- GitLab