From 52faeaf81c72cb8926ca283237bcc321beda2fbe Mon Sep 17 00:00:00 2001 From: tomoron Date: Mon, 16 Sep 2024 14:04:20 +0200 Subject: [PATCH] add movement request --- .../djangoserver/file/server/server/Game.py | 6 +++++- .../server/typeRequests/createAccount.py | 5 +++-- .../server/typeRequests/gameActions/move.py | 18 ++++++++++++++++++ .../server/server/typeRequests/gameRequest.py | 14 ++++++++++++-- 4 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 docker-compose/requirements/djangoserver/file/server/server/typeRequests/gameActions/move.py diff --git a/docker-compose/requirements/djangoserver/file/server/server/Game.py b/docker-compose/requirements/djangoserver/file/server/server/Game.py index 17fa94b..fc0588b 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/Game.py +++ b/docker-compose/requirements/djangoserver/file/server/server/Game.py @@ -6,7 +6,7 @@ # By: edbernar 20): socket.sendError("Username must be at most 20 characters long", 9017) return - if (content["username"].isalnum() == False): + if (not all(c in allowed_char_username for c in content["username"])): socket.sendError("Username must contain only letters and numbers", 9018) return if (len(content["password"]) < 8): diff --git a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/gameActions/move.py b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/gameActions/move.py new file mode 100644 index 0000000..eebbce2 --- /dev/null +++ b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/gameActions/move.py @@ -0,0 +1,18 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# move.py :+: :+: :+: # +# +:+ +:+ +:+ # +# By: tomoron +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2024/09/16 13:54:55 by tomoron #+# #+# # +# Updated: 2024/09/16 14:03:09 by tomoron ### ########.fr # +# # +# **************************************************************************** # + +def move(socket, content): + up = content.get("up", False) + pos = content.get("pos", None) + if(pos == None): + return; + socket.game.move(socket, up, pos) diff --git a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/gameRequest.py b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/gameRequest.py index 031f3fa..a66bf33 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/gameRequest.py +++ b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/gameRequest.py @@ -6,13 +6,14 @@ # By: tomoron +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2024/09/09 16:10:26 by tomoron #+# #+# # -# Updated: 2024/09/15 13:38:55 by tomoron ### ########.fr # +# Updated: 2024/09/16 13:59:24 by tomoron ### ########.fr # # # # **************************************************************************** # from .gameActions.start import start from .gameActions.ready import ready from .gameActions.leave import leave +from .gameActions.move import move # game request format : {"type":"game", "content":{"action": 1, ...}} @@ -24,6 +25,11 @@ from .gameActions.leave import leave # - username # # 2 : go : the game started +# +# 3 : move : when the oponnent moves or the client did an illegal move +# - is_opponent +# - pos +# - up #client actions (actions sent by the client) : # 0 : start : starts a game @@ -32,8 +38,12 @@ from .gameActions.leave import leave # 1 : ready : tell the server the game is ready to start # # 2 : leave : leave the game (or waiting screen) +# +# 3 : move : when the client moves +# - pos : +# - up : True/False(default : False) is the player up -action_list = [start, ready, leave] +action_list = [start, ready, leave, move] async def gameRequest(socket, content): action = content["action"] if(action < 0 or action > len(action_list)):