From a40d8864851c296266a3bba8373a399a5e3d6257 Mon Sep 17 00:00:00 2001 From: tomoron Date: Tue, 22 Oct 2024 01:42:05 +0200 Subject: [PATCH] add detection when player left the tournament to not start any game, add action 7 to tournaments --- .../djangoserver/file/server/server/Bot.py | 2 +- .../file/server/server/DummySocket.py | 3 ++- .../file/server/server/GameSettings.py | 5 +++-- .../file/server/server/Tournament.py | 13 ++++++++++++- .../file/server/server/TournamentGame.py | 16 ++++++++++++---- .../server/typeRequests/tournamentRequest.py | 5 ++++- 6 files changed, 34 insertions(+), 10 deletions(-) diff --git a/docker-compose/requirements/djangoserver/file/server/server/Bot.py b/docker-compose/requirements/djangoserver/file/server/server/Bot.py index d754660..542c348 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/Bot.py +++ b/docker-compose/requirements/djangoserver/file/server/server/Bot.py @@ -6,7 +6,7 @@ # By: tomoron +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2024/10/19 18:29:36 by tomoron #+# #+# # -# Updated: 2024/10/20 15:36:33 by tomoron ### ########.fr # +# Updated: 2024/10/22 01:19:12 by tomoron ### ########.fr # # # # **************************************************************************** # diff --git a/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py b/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py index 647acfa..1f29205 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py +++ b/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py @@ -6,13 +6,14 @@ # By: edbernar +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2024/10/22 01:37:00 by tomoron #+# #+# # +# Updated: 2024/10/22 01:37:12 by tomoron ### ########.fr # # # # **************************************************************************** # from .Game import Game +from .GameSettings import GameSettings import asyncio class TournamentGame: @@ -31,9 +33,15 @@ class TournamentGame: else: l = self.left r = self.right - while (not l.isTournamentReady() or not r.isTournamentReady()): + nbLoop = 0 + while (not l.isTournamentReady() or not r.isTournamentReady()) and nbLoop < GameSettings.maxTimePlayerWait * 10: print("waiting for player") + nbLoop += 1 await asyncio.sleep(0.1) + if(not l.socket.online or not r.socket.online): + print("player is not online, opponent is winner") + self.winner = l if l.socket.online else r + return; await asyncio.sleep(3) self.game = Game(l, r, self.tournament.code) l.socket.sync_send("tournament", { diff --git a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/tournamentRequest.py b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/tournamentRequest.py index e3ef1d9..ee1aa0c 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/tournamentRequest.py +++ b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/tournamentRequest.py @@ -6,7 +6,7 @@ # By: edbernar