add: tictactoe: Winning screen and backend end of game

This commit is contained in:
Namonay
2024-05-01 16:31:27 +02:00
parent 737b6fc194
commit d0a8d12934
3 changed files with 29 additions and 24 deletions

View File

@ -40,9 +40,13 @@ class TicTacToeWebSocket(WebsocketConsumer):
self.member = self.game.join(self.user.pk, self)
self.lastmovetimer = time.time()
if (isinstance(self.member, TicTacToePlayer)):
self.member.send(self.member.sign)
if (self.game._everbody_is_here() and self.game.model.started == True and self.game.model.finished == False):
self.member.send("catchup", {"morpion" : self.game._map, "turn" : self.game.turn, "currentMorpion": self.member.currentMorpion})
return
if (self.game._everbody_is_here() and self.game.model.started == False):
if (self.game.time != -1):
self.game.broadcast("opponent_joined")
@ -55,17 +59,14 @@ class TicTacToeWebSocket(WebsocketConsumer):
if (data.get("targetMorpion") is not None and data.get("targetCase") is not None):
if (self.game.add(data, self.member) == False):
return
if (data.get("catchup") is not None and self.game.model.finished == False and self.game.model.finished == True):
self.member.send("catchup", {"Morpion": self.game._map, "turn": self.game.turn})
if (self.game.checkWin() != False):
print(self.game.checkWin())
self.game.broadcast("game_end", {"winning_sign": self.member.sign})
self.winner = self.game.checkWin()
self.game.broadcast("game_end", {"winning_sign": self.winner})
self.game.broadcast("game_move", data, [self.member])
pass
def disconnect(self, event):
self.member.socket = None
self.game.time = time.time()
self.game.broadcast("opponent_leave_timer")
class PongWebSocket(WebsocketConsumer):