diff --git a/docker-compose/requirements/djangoserver/file/server/server/Bot.py b/docker-compose/requirements/djangoserver/file/server/server/Bot.py index 98fa0c7..0b032b9 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/05 03:54:20 by tomoron #+# #+# # -# Updated: 2024/10/13 21:24:19 by tomoron ### ########.fr # +# Updated: 2024/10/14 20:18:58 by tomoron ### ########.fr # # # # **************************************************************************** # @@ -70,8 +70,10 @@ class Bot(Player): def isEnd(self): if(self.tournament != None): return(self.tournament.end) - else: + elif(self.game != None): return(self.game.end) + else: + return(False) async def updateLoop(self): while not self.isEnd(): diff --git a/docker-compose/requirements/djangoserver/file/server/server/Game.py b/docker-compose/requirements/djangoserver/file/server/server/Game.py index 30b1a16..db142cc 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 +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2024/10/12 22:49:00 by tomoron #+# #+# # -# Updated: 2024/10/14 20:10:13 by tomoron ### ########.fr # +# Updated: 2024/10/14 20:29:06 by tomoron ### ########.fr # # # # **************************************************************************** # import asyncio @@ -23,29 +23,30 @@ class TournamentGame: def startGame(self): l = None r = None + print("start new game") if(isinstance(self.left,TournamentGame)): self.game = Game(self.left.winner, self.right.winner, True) - l = self.left.winner.socket - r = self.right.winner.socket + l = self.left.winner + r = self.right.winner else: self.game = Game(self.left, self.right, True) - l = self.left.socket - r = self.right.socket - l.sync_send("tournament", { + l = self.left + r = self.right + l.socket.sync_send("tournament", { "action":4, - "id": r.id, - "username":r.username, + "id": r.socket.id, + "pfp": r.socket.pfp, + "username":r.socket.username, "skin" : r.skin, - "goal": r.goal, - "pfp": r.pfp + "goal": r.goal }) - r.sync_send("tournament", { + r.socket.sync_send("tournament", { "action":4, - "id": l.id, - "username": l.username, + "id": l.socket.id, + "pfp": l.socket.pfp, + "username": l.socket.username, "skin" : l.skin, - "goal": l.goal, - "pfp": l.pfp + "goal": l.goal }) async def loop(self): @@ -60,5 +61,6 @@ class TournamentGame: self.startGame() else: if(self.game.winner != None): + print("game ended, winner is", self.game.pWinner.socket.username) self.winner = self.game.pWinner await asyncio.sleep(1) diff --git a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/tournamentActions/start.py b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/tournamentActions/start.py index 6ceb17f..c762e90 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/tournamentActions/start.py +++ b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/tournamentActions/start.py @@ -6,16 +6,25 @@ # By: tomoron +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2024/10/04 17:16:02 by tomoron #+# #+# # -# Updated: 2024/10/11 21:14:54 by tomoron ### ########.fr # +# Updated: 2024/10/14 20:25:16 by tomoron ### ########.fr # # # # **************************************************************************** # from ...Tournament import Tournament +from ...GameSettings import GameSettings async def tournamentStart(socket, content): + skinId = content.get("skinId", 0) + if(skinId < 0 or skinId >= GameSettings.nbSkins): + socket.sendError("Skin id out of range", 9033) + return; + goalId = content.get("goalId",0) + if(goalId < 0 or goalId >= GameSettings.nbGoals): + socket.sendError("Goal id out of range", 9039) + return; if("code" in content and len(content["code"])): if(content["code"] in Tournament.currentTournaments): - Tournament.currentTournaments[content["code"]].join(socket) + Tournament.currentTournaments[content["code"]].join(socket, skin, goal) else: socket.sync_send("tournament",{"action":0, "exist":False}) else: @@ -23,4 +32,4 @@ async def tournamentStart(socket, content): if(nbBot < 0 or nbBot > 7): socket.sendError("invalid number of bots", 9040) return; - Tournament(socket, nbBot) + Tournament(socket, nbBot, skinId, goalId) diff --git a/docker-compose/requirements/djangoserver/file/server/server/websocket.py b/docker-compose/requirements/djangoserver/file/server/server/websocket.py index 4fddd91..03083f2 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/websocket.py +++ b/docker-compose/requirements/djangoserver/file/server/server/websocket.py @@ -6,7 +6,7 @@ # By: edbernar