diff --git a/routes/users.js b/routes/users.js index d9cfd64..e1741f4 100644 --- a/routes/users.js +++ b/routes/users.js @@ -165,11 +165,14 @@ router.post("/score-update", async function (req, res, next) { requiredPoints = 10; // 1~4급은 10점 필요 } + let advancement = 0; + // 승급 확인 if (userScore >= requiredPoints) { if (userRating > 1) { // 1급보다 높은 급수인 경우만 승급 가능 userRating -= 1; // 급수 상승 (숫자는 작을수록 높은 급수) userScore = 0; // 승급 후 포인트 초기화 + advancement++; } else { // 1급인 경우 더 이상 승급 불가능, 최대 포인트로 유지 userScore = requiredPoints; @@ -181,6 +184,7 @@ router.post("/score-update", async function (req, res, next) { if (userRating < 18) { // 18급보다 낮은 급수인 경우만 강등 가능 userRating += 1; // 급수 하락 (숫자가 커짐) userScore = 0; // 강등 후 포인트 초기화 + advancement-- } else { // 18급인 경우 더 이상 강등 불가능, 최소 포인트로 유지 userScore = -requiredPoints + 1; @@ -210,7 +214,8 @@ router.post("/score-update", async function (req, res, next) { score: Number(userScore), win: Number(winCount), lose: Number(loseCount), - // TODO : 승급, 강등 여부 추가 -1 :강등, 0: 변화 없음 , 1: 승급 + // 승급, 강등 여부 추가 -1 :강등, 0: 변화 없음 , 1: 승급 + advancement: Number(advancement), }); } catch(err) { diff --git a/socket/handlers/gameEvents.js b/socket/handlers/gameEvents.js index 30d2760..a641ea8 100644 --- a/socket/handlers/gameEvents.js +++ b/socket/handlers/gameEvents.js @@ -103,7 +103,7 @@ module.exports = function(io, socket, gameState) { let isBlack = data.isBlack; const message = "상대방이 재대결을 수락했습니다."; - + socket.to(roomId).emit('revengeAccepted', { message, isBlack: isBlack,