add: morpion: backend disconnect
This commit is contained in:
parent
d0a8d12934
commit
d00d2231a4
@ -36,18 +36,19 @@ class TicTacToe
|
|||||||
|
|
||||||
async onReceive(messageData)
|
async onReceive(messageData)
|
||||||
{
|
{
|
||||||
|
console.log(messageData)
|
||||||
switch (messageData.detail)
|
switch (messageData.detail)
|
||||||
{
|
{
|
||||||
case 'x':
|
case 'x':
|
||||||
case 'o':
|
case 'o':
|
||||||
this.sign = messageData.detail;
|
this.sign = messageData.detail;
|
||||||
this.turn = messageData.detail == "x";
|
this.turn = messageData.detail == "x";
|
||||||
if (this.turn && this.game.started == false)
|
|
||||||
this.setOutline(4, false);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'game_start':
|
case 'game_start':
|
||||||
this.game.started = true;
|
this.game.started = true;
|
||||||
|
if (this.turn)
|
||||||
|
this.setOutline(4, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'game_move':
|
case 'game_move':
|
||||||
|
@ -38,9 +38,10 @@ class TicTacToeWebSocket(WebsocketConsumer):
|
|||||||
|
|
||||||
self.game: TicTacToeGame = game_manager.get(self.game_id, "tictactoe")
|
self.game: TicTacToeGame = game_manager.get(self.game_id, "tictactoe")
|
||||||
|
|
||||||
|
if (self.game is None):
|
||||||
|
return
|
||||||
self.member = self.game.join(self.user.pk, self)
|
self.member = self.game.join(self.user.pk, self)
|
||||||
|
|
||||||
self.lastmovetimer = time.time()
|
|
||||||
if (isinstance(self.member, TicTacToePlayer)):
|
if (isinstance(self.member, TicTacToePlayer)):
|
||||||
self.member.send(self.member.sign)
|
self.member.send(self.member.sign)
|
||||||
|
|
||||||
@ -61,13 +62,16 @@ class TicTacToeWebSocket(WebsocketConsumer):
|
|||||||
return
|
return
|
||||||
if (self.game.checkWin() != False):
|
if (self.game.checkWin() != False):
|
||||||
self.winner = self.game.checkWin()
|
self.winner = self.game.checkWin()
|
||||||
|
self.game.model.finish(self.user)
|
||||||
self.game.broadcast("game_end", {"winning_sign": self.winner})
|
self.game.broadcast("game_end", {"winning_sign": self.winner})
|
||||||
self.game.broadcast("game_move", data, [self.member])
|
self.game.broadcast("game_move", data, [self.member])
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def disconnect(self, event):
|
def disconnect(self, event):
|
||||||
|
try:
|
||||||
self.member.socket = None
|
self.member.socket = None
|
||||||
self.game.broadcast("opponent_leave_timer")
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
class PongWebSocket(WebsocketConsumer):
|
class PongWebSocket(WebsocketConsumer):
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user