Commit fea42ff4 authored by 18신대성's avatar 18신대성 Committed by 18류지석

패배시 서버에 알림이 가며, 다른 클라에 패배했다고 뿌림

parent 30e0a44f
......@@ -118,7 +118,7 @@ GameServer.announceToTarget = function(roomIdx, targetNum, _message, _data = nul
{
return element.id === targetNum;
}).socketId;
targetSocket.emit(_message, _data);
if (targetSocket != 'undefined') targetSocket.emit(_message, _data);
}
// 데이터 동기화 함수 만들기
// 동기화할것: 유저리스트(id - nickname 쌍)
......
......@@ -36,6 +36,12 @@ socket.on('attacked', function(msg) // object attackData
{
WordSpace.generateWord.Attack(WordSpace.gameSceneForTest, msg.text, msg.grade, msg.attacker, msg.isStrong);
});
socket.on('defeat', function(msg) // object player
{
RoomData.players[msg.index] = msg;
RoomData.aliveCount--;
console.log(RoomData.players[msg.index].nickname + ' defeated');
});
// out game
socket.on('userDisconnect', function(msg) // {num index , num id, str nickname}
......
......@@ -277,7 +277,9 @@ function gameOver()
WordSpace.wordCycle.currentCycle.remove();
WordSpace.nameCycle.currentCycle.remove();
//To Do
socket.emit('defeated');
console.log('defeat');
alert('defeat');
}
//게임 오버 판정을 위한 타이머
......
......@@ -27,6 +27,7 @@ io.on('connection', function(socket)
nickname: '게스트',
socketId: socket,
currentRoom: null,
playingData: null,
playerTyping: 0
};
......@@ -67,6 +68,15 @@ io.on('connection', function(socket)
GameServer.announceToTarget(GameServer.findRoomIndex(msg.roomNum), msg.target, 'attacked', msg);
});
socket.on('defeated', function()
{
socket.playerData.playingData.isAlive = false;
socket.playerData.playingData.rank = socket.playerData.currentRoom.nextRank--;
// 패배단어 체크
GameServer.announceToRoom(socket.playerData.currentRoom.roomNum, 'defeat', socket.playerData.playingData);
console.log('['+socket.playerData.id+']'+ ' defeated');
});
socket.on('disconnect', function(reason)
{
let idxToDel = GameServer.currentPlayer.findIndex(function(element)
......@@ -81,7 +91,7 @@ io.on('connection', function(socket)
if (socket.playerData.currentRoom != null)
{
socket.playerData.playingData.isAlive = false;
socket.playerData.playingData.rank = socket.playerData.currentRoom.nextRank--;
if (socket.playerData.playingData.rank === -1) socket.playerData.playingData.rank = socket.playerData.currentRoom.nextRank--;
socket.playerData.currentRoom.currentSocket.splice(socket.playerData.playingData.index, 1);
GameServer.announceToRoom(GameServer.findRoomIndex(socket.playerData.currentRoom.roomNum), 'userDisconnect', socket.playerData.playingData);
}
......
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