Commit 61daf001 authored by 18신대성's avatar 18신대성

일단 최대한 안터지는 선까지 고침, 그래도 많이 민감하므로 주의하세요

parent 9976f316
...@@ -128,25 +128,30 @@ GameServer.startRoom = function(roomIdx) ...@@ -128,25 +128,30 @@ GameServer.startRoom = function(roomIdx)
{ {
let room = this.playingRoom[roomIdx]; let room = this.playingRoom[roomIdx];
room.currentPhase = this.Phase.START; room.currentPhase = this.Phase.START;
room.nextRank = room.currentPlayer.length;
room.aliveCount = room.currentPlayer.length;
room.maxTypingPlayer = room.currentPlayer[0]; room.maxTypingPlayer = room.currentPlayer[0];
room.minTypingPlayer = room.currentPlayer[0]; room.minTypingPlayer = room.currentPlayer[0];
room.currentSocket.forEach(function(element) room.currentSocket.forEach(function(element)
{ {
element.isReceivable = true; if (element != null) element.isReceivable = true;
}); });
let syncPlayers = [];
room.currentPlayer.forEach(function(element)
{
if (element != null) syncPlayers.push(element);
});
room.nextRank = syncPlayers.length;
room.aliveCount = syncPlayers.length;
// sync roomData // sync roomData
let toSync = let toSync =
{ {
roomNum: room.roomNum, roomNum: room.roomNum,
players: room.currentPlayer players: syncPlayers
}; };
//console.log(toSync); //console.log(toSync);
this.announceToRoom(roomIdx, 'syncRoomData', toSync); this.announceToRoom(roomIdx, 'syncRoomData', toSync);
console.log('[ROOM#'+room.roomNum+'] Game Start with ' + room.currentPlayer.length + ' players'); console.log('[ROOM#'+room.roomNum+'] Game Start with ' + syncPlayers.length + ' players');
this.announceToRoom(roomIdx, 'changePhase', this.Phase.START); this.announceToRoom(roomIdx, 'changePhase', this.Phase.START);
this.announceToRoom(roomIdx, 'startGame'); this.announceToRoom(roomIdx, 'startGame');
} }
...@@ -176,7 +181,7 @@ GameServer.playerDefeat = function(playerData) ...@@ -176,7 +181,7 @@ GameServer.playerDefeat = function(playerData)
{ {
let winner = playerData.currentRoom.currentPlayer.find(function(element) let winner = playerData.currentRoom.currentPlayer.find(function(element)
{ {
return element.isAlive; return element != null && element.isAlive;
}); });
GameServer.announceToRoom(this.findRoomIndex(playerData.currentRoom.roomNum), 'gameEnd', winner); GameServer.announceToRoom(this.findRoomIndex(playerData.currentRoom.roomNum), 'gameEnd', winner);
GameServer.announceToTarget(this.findRoomIndex(playerData.currentRoom.roomNum), winner.id, 'alert', 'gameWin'); GameServer.announceToTarget(this.findRoomIndex(playerData.currentRoom.roomNum), winner.id, 'alert', 'gameWin');
......
...@@ -150,10 +150,10 @@ io.on('connection', function(socket) ...@@ -150,10 +150,10 @@ io.on('connection', function(socket)
else if (data.playingData.isAlive) else if (data.playingData.isAlive)
{ {
GameServer.playerDefeat(socket.playerData); GameServer.playerDefeat(socket.playerData);
}
GameServer.announceToRoom(GameServer.findRoomIndex(data.currentRoom.roomNum), 'userDisconnect', data.playingData); GameServer.announceToRoom(GameServer.findRoomIndex(data.currentRoom.roomNum), 'userDisconnect', data.playingData);
} }
} }
}
console.log('['+ data.id +'] disconnect complete'); console.log('['+ data.id +'] disconnect complete');
} }
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment