DO-49 매칭 성사시 선공 여부 결정후 전달

This commit is contained in:
fiore 2025-03-25 09:35:20 +09:00
parent 886cb4f08c
commit 576b4c96ce

View File

@ -43,11 +43,15 @@ module.exports = function(io, socket, gameState) {
socket.join(roomId); socket.join(roomId);
gameState.socketRooms.set(socket.id, roomId); gameState.socketRooms.set(socket.id, roomId);
// 흑백 여부 결정 50% 확률
let isHostFirst = Math.random() < 0.5;
// 클라이언트에게 방 정보 전송 (상대 급수 정보 포함) // 클라이언트에게 방 정보 전송 (상대 급수 정보 포함)
socket.emit('joinRoom', { socket.emit('joinRoom', {
roomId: roomId, roomId: roomId,
opponentRating: gameState.playerRating.get(matchedRoom.hostId), opponentRating: gameState.playerRating.get(matchedRoom.hostId),
opponentNickname: gameState.nickname.get(matchedRoom.hostId), opponentNickname: gameState.nickname.get(matchedRoom.hostId),
isBlack: !isHostFirst
}); });
// 상대방에게 게임 시작 알림 (내 닉네임과 급수 정보 포함) // 상대방에게 게임 시작 알림 (내 닉네임과 급수 정보 포함)
@ -55,6 +59,7 @@ module.exports = function(io, socket, gameState) {
opponentId: socket.id, opponentId: socket.id,
opponentRating: playerRating, opponentRating: playerRating,
opponentNickname: nickname, opponentNickname: nickname,
isBlack: isHostFirst
}); });
logger.info(`매칭 성공: ${socket.id}(${playerRating}급) - ${matchedRoom.hostId}(${gameState.playerRating.get(matchedRoom.hostId)}급)`); logger.info(`매칭 성공: ${socket.id}(${playerRating}급) - ${matchedRoom.hostId}(${gameState.playerRating.get(matchedRoom.hostId)}급)`);