game: add: max score win

This commit is contained in:
2024-02-27 17:05:30 +01:00
parent 18962ca144
commit 53b314c72b
5 changed files with 47 additions and 9 deletions

View File

@ -103,6 +103,14 @@ class Game(AbstractRoom):
self.broadcast("goal", {"player_id": goal_taker.user_id,
"timestamp": timestamp})
if (len(goal_taker.score) >= config.GAME_MAX_SCORE):
connected_players: list[Player] = self.get_players_connected()
if (len(connected_players) == 2):
self.finish(connected_players[not connected_players.index(goal_taker)])
else:
goal_taker.eliminate()
def get_player_by_user_id(self, user_id: int) -> Player:
for player in self.players:
@ -151,6 +159,7 @@ class Game(AbstractRoom):
if (self.model.started):
if (len(connected_players) == 1):
print([player.username for player in connected_players])
last_player: Player = connected_players[0]
self.finish(last_player)
return

View File

@ -31,6 +31,12 @@ class Player(Spectator):
self.username: str = User.objects.get(pk = self.user_id).username
def eliminate(self):
self.disconnect(1000)
self.game.update_player(self)
def receive(self, data: dict):
detail: str = data.get("detail")