game: add: max score win
This commit is contained in:
@ -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
|
||||
|
@ -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")
|
||||
|
Reference in New Issue
Block a user