game: multiplayer: work

This commit is contained in:
2024-05-15 13:41:24 +02:00
parent efd8d53f6c
commit 400a91df3e
8 changed files with 31 additions and 23 deletions

View File

@ -14,6 +14,7 @@ from django.contrib.auth.models import User
from ...routine import routine
import random
import threading
class PongGame(AGame):
@ -54,6 +55,7 @@ class PongGame(AGame):
else:
self.walls.append(Segment(corners[i].copy(), corners[(i + 1) % 4].copy()))
self.ball: Ball = Ball()
def goal(self, goal_defenser: PongPlayer) -> None:
@ -73,7 +75,7 @@ class PongGame(AGame):
self.finish(player_list[0])
return
self.ball.reset()
self.ball.reset(goal_defenser.rail.center())
def get_valid_players(self) -> list[PongPlayer]:
return [player for player in self.players if player.is_connected and not player.is_eliminated]
@ -92,7 +94,9 @@ class PongGame(AGame):
self.broadcast("start")
self.ball.reset()
players: list[PongPlayer] = self.get_valid_players()
self.ball.reset(players[random.randint(0, len(players) -1)].rail.center())
self.broadcast("update_ball", self.ball.to_dict())