From 66fbfc2bc73c8a95fcb7eea8e37b5fe6a39d2728 Mon Sep 17 00:00:00 2001 From: tomoron Date: Sat, 5 Oct 2024 04:30:39 +0200 Subject: [PATCH] add bot, move player variables to a player class(might have broke some things idk) --- .../djangoserver/file/server/server/Bot.py | 15 +++ .../djangoserver/file/server/server/Game.py | 108 ++++++++---------- .../djangoserver/file/server/server/Player.py | 18 +++ .../file/server/server/Tournament.py | 2 +- 4 files changed, 82 insertions(+), 61 deletions(-) create mode 100644 docker-compose/requirements/djangoserver/file/server/server/Bot.py create mode 100644 docker-compose/requirements/djangoserver/file/server/server/Player.py diff --git a/docker-compose/requirements/djangoserver/file/server/server/Bot.py b/docker-compose/requirements/djangoserver/file/server/server/Bot.py new file mode 100644 index 0000000..2ec3d5c --- /dev/null +++ b/docker-compose/requirements/djangoserver/file/server/server/Bot.py @@ -0,0 +1,15 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Bot.py :+: :+: :+: # +# +:+ +:+ +:+ # +# By: tomoron +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2024/10/05 03:54:20 by tomoron #+# #+# # +# Updated: 2024/10/05 03:55:31 by tomoron ### ########.fr # +# # +# **************************************************************************** # + +class Bot(Player): + def __init__(self): + print("I am a bot boop boop beep boop") diff --git a/docker-compose/requirements/djangoserver/file/server/server/Game.py b/docker-compose/requirements/djangoserver/file/server/server/Game.py index afe4b3c..d7c7029 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/Game.py +++ b/docker-compose/requirements/djangoserver/file/server/server/Game.py @@ -6,11 +6,12 @@ # By: edbernar = Game.limits["front"]): - player = self.p2Pos if newBallPos[1] < 0 else self.p1Pos + player = self.p2.pos if newBallPos[1] < 0 else self.p1.pos playerDistance = self.getPlayerDistance(player, newBallPos) if(playerDistance >= -(Game.playerLength / 2) and playerDistance <= Game.playerLength / 2 and player["up"] == self.ballPos["up"]): velX = -((self.speed * 0.80) * (playerDistance / (Game.playerLength / 2))) velZ = self.speed - abs(velX) if(newBallPos[1] > 0): velZ = -velZ - self.p1.sync_send({"type":"game","content":{"action":4, "is_opponent": newBallPos[1] < 0}}) - self.p2.sync_send({"type":"game","content":{"action":4, "is_opponent": newBallPos[1] > 0}}) + self.p1.socket.sync_send({"type":"game","content":{"action":4, "is_opponent": newBallPos[1] < 0}}) + self.p2.socket.sync_send({"type":"game","content":{"action":4, "is_opponent": newBallPos[1] > 0}}) else: await self.scoreGoal(1 if newBallPos[1] < 0 else 2) return; @@ -458,12 +447,11 @@ class Game: break; sleep_time = self.getSleepTime() print("sleep time : " , sleep_time) - self.expSleepTime = sleep_time await asyncio.sleep(sleep_time) print("game end") await self.saveResults() - self.p1.game = None - self.p2.game = None + self.p1.socket.game = None + self.p2.socket.game = None @sync_to_async def saveResults(self): @@ -472,8 +460,8 @@ class Game: print("unkown winner, setting to 1") self.winner = 1 print("saving results") - p1DbUser = User.objects.get(id=self.p1.id) - p2DbUser = User.objects.get(id=self.p2.id) + p1DbUser = User.objects.get(id=self.p1.socket.id) + p2DbUser = User.objects.get(id=self.p2.socket.id) results = GameResults.objects.create( player1 = p1DbUser, player2 = p2DbUser, @@ -485,5 +473,5 @@ class Game: results.save() print("results saved") except Exception as e: - self.p1.sendError("Couldn't save last game results", 9104, e) - self.p2.sendError("Couldn't save last game results", 9104, e) + self.p1.socket.sendError("Couldn't save last game results", 9104, e) + self.p2.socket.sendError("Couldn't save last game results", 9104, e) diff --git a/docker-compose/requirements/djangoserver/file/server/server/Player.py b/docker-compose/requirements/djangoserver/file/server/server/Player.py new file mode 100644 index 0000000..6aa4cbd --- /dev/null +++ b/docker-compose/requirements/djangoserver/file/server/server/Player.py @@ -0,0 +1,18 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Player.py :+: :+: :+: # +# +:+ +:+ +:+ # +# By: tomoron +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2024/10/05 03:22:32 by tomoron #+# #+# # +# Updated: 2024/10/05 03:46:24 by tomoron ### ########.fr # +# # +# **************************************************************************** # + +class Player(): + def __init__(self): + self.socket = None + self.ready = False + self.pos = {"pos":0, "up": False} + self.skin = 0 diff --git a/docker-compose/requirements/djangoserver/file/server/server/Tournament.py b/docker-compose/requirements/djangoserver/file/server/server/Tournament.py index 1def069..22b90e6 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/Tournament.py +++ b/docker-compose/requirements/djangoserver/file/server/server/Tournament.py @@ -6,7 +6,7 @@ # By: edbernar